在Python模块中排序

时间:2013-04-09 16:26:54

标签: python django

 class Images(models.Model):
      job=models.OneToOneField(Jobs)
       image=models.ImageField()
 class Jobs(models.Model):
       picture=models.ForeignKey(Images, null=True)

它在

上出错
job=models.OneToOneField(Jobs)

因为类作业后来在模块中定义,但是如果我改变这两个类的位置那么它会给我一个错误

   picture=models.ForeignKey(Images, null=True)

在这种情况下我该怎么办?(不在不同的模块中放置课程)

1 个答案:

答案 0 :(得分:7)

您可以使用带有类名的字符串在创建另一个模型之前实例化第一个模型:

class Images(models.Model):
    job=models.OneToOneField('Jobs')
    image=models.ImageField()

class Jobs(models.Model):
    picture=models.ForeignKey(Images, null=True)

来自docs on models

  

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