Django перемещает таблицу в другое приложение с помощью db_table и не удаляет исходную таблицу
Я перенес свой стол из app_a
другим app_b
с помощью db_table
, Я изначально добавил метаинформацию как,
# app_b.models.ppy
class Table(models.Model)
# all fields
class Meta:
db_table = 'app_a_table'
app_label = 'app_a'
Если я внесу какие-либо изменения в эту таблицу в app_b
, миграции не создает новый файл миграции в папке миграции. Это говорит.
No changes detected in app 'app_b'
Я попробовал из этого ANS, и прокомментировал app_label = 'app_a'
, Теперь после миграции он обнаруживает изменения и создает файл миграции.
Затем я выполняю python manage.py migrate
команда, постоянно просит удалить исходную таблицу app_a_table
,
The following content types are stale and need to be deleted:
app_a | table
Any objects related to these content types by a foreign key will also
be deleted. Are you sure you want to delete these content types?
If you're unsure, answer 'no'.
Type 'yes' to continue, or 'no' to cancel: no
Как мне подавить это уведомление? Как мне сообщить Django-миграции, что эта таблица существует в другом приложении?
1 ответ
После того, как я перенес свой стол из app_a
другим app_b
с помощью db_table
а также app_label
, Миграции работают, если я запускаю их только для app_a
,
python manage.py makemigrations app_a
Эта команда запускает миграцию для app_b