3
 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)

在这种情况下我应该怎么做?(不把类放在不同的模块中)

4

1 回答 1

7

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

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

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

模型文档

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

于 2013-04-09T16:39:23.703 回答