Django4.0 迁移-依赖

2022-03-16 17:50 更新

虽然迁移是针对每个应用程序的,但模型隐含的表和关系过于复杂,无法一次为一个应用程序创建。当您进行需要运行其他东西的迁移时 - 例如,您在图书应用程序中将 ​ForeignKey ​添加到您的作者应用程序 - 生成的迁移将包含对authors迁移中的依赖。

这意味着当您运行迁移时,authors迁移首先运行并创建 ​ForeignKey ​引用的表,然后生成 ​ForeignKey ​列的迁移随后运行并创建约束。如果这没有发生,迁移将尝试创建 ​ForeignKey ​列,而它所引用的表不存在,并且您的数据库将引发错误。

这种依赖行为会影响您限制为单个应用程序的大多数迁移操作。限制为单个应用程序(在 ​makemigrations ​或 ​migrate ​中)是尽力而为的承诺,而不是保证;任何其他需要用于正确获取依赖关系的应用程序都将是。

没有迁移的应用不得与有迁移的应用有关系(​ForeignKey​、​ManyToManyField ​等)。有时它可能有效,但不受支持。


以上内容是否对您有帮助:
在线笔记
App下载
App下载

扫描二维码

下载编程狮App

公众号
微信公众号

编程狮公众号