擅长:python、mysql、java
<p>您不应该在迁移文件中接触来自其他应用程序的模型,除非您为其他应用程序的迁移指定适当的依赖关系。基本上,如果您想使用<code>MyOtherModel</code>from<code>my_other_app</code>,那么您必须在迁移中向{<cd3>}添加条目,以指向<code>my_other_app</code>中的迁移,其中{<cd1>}存在并且处于所需状态。在</p>
<p>“Exists”和“desired state”在这里需要一些解释:当Django处理迁移时,它不会检查应用程序的<code>models.py</code>中的实际模型状态,而是尝试从创建迁移时的时间点复制模型。因此,如果您想使用<code>some_field</code>,但该字段是在以后的迁移中添加的,那么至少必须指向引入该字段的迁移。在</p>
<p>同样,若稍后删除了字段,则依赖项必须指向迁移之前的某个迁移。在</p>
<p>请参见Django文档中的<a href="https://docs.djangoproject.com/en/2.0/howto/writing-migrations/#migrating-data-between-third-party-apps" rel="nofollow noreferrer">Migrating data between third-party apps</a>。在</p>