python – 在django中交叉导入

例如,我有2个应用程序:alpha和beta

在alpha / models.py中从beta.models导入模型

以及beta / models.py从alpha.models导入模型

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

如何解决这个问题呢?

最佳答案 我过去曾遇到过这个问题,有两个模型相互引用,即使用ForeignKey字段.根据
Django documentation,有一种简单的方法可以解决它:

If you need to create a relationship on a model that has not yet been defined, you can use the name of the model, rather than the model object itself:

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

class BetaModel(models.Model):
    alpha = models.ForeignKey('alpha.AlphaModel')
    ...

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

点赞