2015-01-20 53 views
6

我不得不将几个模型从一个应用程序移动到另一个应用程序,并且我遵循关于此回答的说明https://stackoverflow.com/a/26472482/188614
基本上我使用python manage.py makemigrations生成的CreateModel迁移,将它们包装在state_operations之内,并将'db_table'元选项与旧表的名称相加。
一切工作正常,new_app上的模型正确地使用旧表。
但是,如果我跑python manage.py makemigrations new_app它创建了一个AlterModelTable迁移为每个表重命名这些为None,像这样:Django 1.7 makemigrations将表格重命名为None

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

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

回答

5

我自己就有这个问题。

你以下答案包括这在new_app迁移:

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

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

你需要更新您的迁移选项newapp要么删除db_table值,如果你不将其设置在Meta或匹配您在Meta设置的值。

相关问题