django中定义模型的顺序

时间:2015-08-18 07:24:10

标签: python django django-models

我在django中定义模型的顺序有些问题,所以我想要这样的东西:

class Album(models.Model):
   mainTrack = models.OneToOneField(Track)


class Track(models.Model):
   albumID = models.ForeignKey(Album)

以这种方式当我想运行makemigration命令时,django会给出这个错误:

Track is not defined

有任何方法可以解决这个问题吗?

2 个答案:

答案 0 :(得分:2)

正如您已经注意到这一行

mainTrack = models.OneToOneField(Track)

引用Track但显然此时未定义Track

<强>解决方案:

使用字符串引用Track模型:

mainTrack = models.OneToOneField('Track')

docs中也提到了这一点:

  

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

答案 1 :(得分:0)

您应该在<a href="#" style=font-size:28px; text-decoration:none; margin-left:30px; onClick="clic()">Notification</a> 来电中添加related_name="track"

ForeignKey