假设我有两个 django 应用程序:
- 比赛- 将处理比赛数据
- 条目- 将处理与让竞争对手参加比赛相关的功能
在比赛应用程序中,我有一个代表比赛部分的模型:
class Division(models.Model):
competition = models.ForeignKey(Competition)
discipline = models.CharField(max_length=1, choices=DISCIPLINE_CHOICES)
age_group = models.ForeignKey(AgeGroup)
participants = models.ManyToManyField(Competitor, through='Entry')
我想将 Entry 模型放在条目应用程序中:
class Entry(models.Model):
division = models.ForeignKey('Division')
competitor = models.ForeignKey(Competitor)
withdrawn = models.BooleanField(default=False)
如何解决 from ... import ... 语句,以便它们工作?当我输入导入语句时,例如from entries.models import Entry
我从这些应用程序中获取模型时被 syncdb 忽略(因为导入是循环的),或者当我删除其中一个或两个时,我得到验证错误:
错误:一个或多个模型没有验证:entry.entry:'division'与模型 Division 有关系,它要么没有安装,要么是抽象的。Competitions.division: 'participants' 通过模型Entry指定m2m关系,尚未安装
我理解为什么会发生这种情况,但我不知道如何改变它,以便它工作(没有诉诸将 Entry 模型移动到比赛应用程序中,我真的不想这样做)。