交叉进口django

Kuh*_*lji 3 python django import django-models

例如,我有2个应用程序:alpha/models.py中的alpha和beta来自beta.models的模型导入和beta/models.py导入的模型来自alpha.models

manage.py validate表示ImportError:无法导入名称ModelName

如何解决这个问题呢?

Adm*_*emo 7

我曾经遇到过这个问题,有两个模型相互引用,即使用一个ForeignKey字段.根据Django文档,有一种简单的方法来处理它:

如果需要在尚未定义的模型上创建关系,可以使用模型的名称,而不是模型对象本身:

所以在你的beta/models.py模型中,你会得到:

class BetaModel(models.Model):
    alpha = models.ForeignKey('alpha.AlphaModel')
    ...
Run Code Online (Sandbox Code Playgroud)

此时,不需要从alpha.models导入.