Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/django/20.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Django 我重新命名了一个模型。如何恢复现在丢失的db对象?_Django_Django Models - Fatal编程技术网

Django 我重新命名了一个模型。如何恢复现在丢失的db对象?

Django 我重新命名了一个模型。如何恢复现在丢失的db对象?,django,django-models,Django,Django Models,我的模特是foo.bar.MyModel。现在是boo.far.MyModel。模式是相同的 boo.far.MyModel.objects.all()现在显然是空的。是否有方法在数据库中运行对象并更改与它们关联的类?类名称的某种搜索和替换?它不是那么多的对象,这只是一个测试数据库,所以我希望用手来做这件事。不想使用南方或类似的地方。我意识到我也可以重新创建旧的包/类,然后进行迁移,但我感兴趣的是,我是否能够以最基本的方式解决这个问题 编辑:我正在使用Google App Engine上的非re

我的模特是foo.bar.MyModel。现在是boo.far.MyModel。模式是相同的

boo.far.MyModel.objects.all()现在显然是空的。是否有方法在数据库中运行对象并更改与它们关联的类?类名称的某种搜索和替换?它不是那么多的对象,这只是一个测试数据库,所以我希望用手来做这件事。不想使用南方或类似的地方。我意识到我也可以重新创建旧的包/类,然后进行迁移,但我感兴趣的是,我是否能够以最基本的方式解决这个问题


编辑:我正在使用Google App Engine上的非rel后端

您可以在数据库中重命名模型的表。表名由app标签和模型类名构成,所以MySQL查询为:

RENAME TABLE bar_mymodel TO far_mymodel;
第二个选项是使用“db_table”模型选项覆盖默认表名:

class MyModel(models.Model):
    ....
    class Meta:
        db_table = 'bar_mymodel'

如果我使用的是非rel后端呢?:)非rel后端存在现有数据问题。选项2应该值得一试。此外,在选项1中,还需要更新django_内容_类型的条目(如果有)。