Django 1.7 makemigrations переименовывает таблицы в None
Мне пришлось переместить несколько моделей из одного приложения в другое, и я выполнил инструкции по этому ответу qaru.site/info/31660/....
В основном я использовал миграции CreateModel
, сгенерированные python manage.py makemigrations
, завернул их внутри state_operations
и добавил мета-параметр 'db_table'
со старым именем таблицы.
Все работает нормально, модели на new_app
находятся в корне, используя старые таблицы.
Но если я запустил python manage.py makemigrations new_app
, он создает миграцию AlterModelTable
для каждой таблицы, переименовав их как None
, например:
migrations.AlterModelTable(
name='cidade',
table=None,
),
Является ли это ошибкой или ожидаемым поведением?
Ответы
Ответ 1
У меня просто была эта проблема.
Ответ, который вы получили, включает это в миграции в new_app
:
options={
'db_table': 'newapp_themodel',
},
Этот параметр dict должен отражать значения, установленные классом Meta
на вашей модели. В моем случае я не устанавливал db_table
в Meta, но слепо скопировал код опций.
Вам нужно обновить параметры миграции для newapp
, чтобы удалить значение db_table
, если вы не установите его в Meta
или чтобы соответствовать значению, установленному в Meta
.