交叉进口django

时间:2010-06-02 13:30:17

标签: python django django-models import

例如,我有2个应用程序:alpha和beta 在alpha / models.py中从beta.models导入模型 以及beta / models.py从alpha.models

导入模型

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

如何解决这个问题?

1 个答案:

答案 0 :(得分:7)

我过去曾遇到过这个问题,有两个模型相互引用,即使用ForeignKey字段。根据{{​​3}}:

,有一种简单的方法可以解决这个问题
  

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

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

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

此时,无需从alpha.models导入。