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

Другие вопросы по тегам