Django使用db_table将表移动到其他应用程序,并且不删除原始表

时间:2016-05-30 07:15:48

标签: python django models schema-migration

我已使用db_table将我的表格从app_a移至其他app_b。我最初添加了元信息,

# 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 个答案:

答案 0 :(得分:1)

使用app_aapp_b将表格从db_table移至其他app_label后。 如果我只为app_a运行迁移,则迁移工作正常。

python manage.py makemigrations app_a

此命令为app_b

运行迁移