删除未使用的模型,过时的内容类型提示

Nat*_*lus 9 django django-migrations

我从Django网站上删除了一个不必要的表和模型.我在调用migrations.DeleteModel(...)之前删除了所有的foriegn密钥引用,但是在运行迁移时我仍然收到以下提示:

以下内容类型陈旧且需要删除:

myapp | MyDeletedModel
Run Code Online (Sandbox Code Playgroud)

通过外键与这些内容类型相关的任何对象也将被删除.您确定要删除这些内容类型吗?如果您不确定,请回答"否".

Type 'yes' to continue, or 'no' to cancel: yes
Run Code Online (Sandbox Code Playgroud)

我很困惑为什么我收到这个提示有没有办法我可以阻止这个提示显示我们上线时?我们使用CI环境,我们没有用户可以回答"是"或"否"

谢谢

knb*_*nbk 13

contenttypes框架包含对模型表的引用.在这种情况下,您对刚刚删除的表有陈旧的引用.回答yes和删除陈旧的内容类型是完全安全的.这将是一个不同的故事,如果您重命名一个表,有一个GenericForeignKey指向它,在这种情况下,其他对象将有一个ForeignKeyContentType,而删除将沿着这些关系级联.

在实时环境中,您可以传递--noinput选项以禁止此提示.但是,它将默认为no.有一些陈旧的contenttypes谎言通常不是一个真正的问题.

  • 在对真实数据进行处理之前,我将测试其实际作用。这东西刚放了一张对我们很重要的桌子。幸运的是,在测试数据库中。 (2认同)