2015-01-20 23 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設置的值。

相關問題