7

我不得不将几个模型从一个应用程序移动到另一个应用程序,并按照此答案https://stackoverflow.com/a/26472482/188614上的说明进行操作。
基本上我使用了CreateModel由 生成的迁移python manage.py makemigrations,将它们包装在里面state_operations,并添加了'db_table'带有旧表名称的元选项。
一切正常,模型new_app正确使用旧表。
但是,如果我运行它,它会为每个表python manage.py makemigrations new_app创建一个迁移,将它们重命名为,如下所示:AlterModelTableNone

migrations.AlterModelTable(
    name='cidade',
    table=None,
),

这是一个错误,还是预期的行为?

4

1 回答 1

5

我自己也遇到了这个问题。

您所遵循的答案包括在迁移中new_app

options={
    'db_table': 'newapp_themodel',
},

此选项 dict 应反映Meta模型上的类设置的值。就我而言,我没有db_table在 Meta 中进行设置,而是盲目地复制了选项代码。

您需要更新迁移中的选项newapp以删除db_table未设置Meta的值或匹配您设置的值Meta

于 2015-03-10T16:19:40.617 回答