我有一个小桶和地板模型
class Keg(models.Model):
tapped = models.BooleanField('Tapped')
beer = models.CharField(max_length=32)
class Floor(models.Model):
kegs = models.ManyToManyField(Keg)
如何将小桶模型专用于地板,这意味着如果我创建一个带有桶的地板,我不希望能够用该桶创建另一个地板。
答案 0 :(得分:3)
听起来你想要多对一的关系;也就是说,一个地板可以有很多桶,但一个桶只能在一层。
在由ForeignKey
表示的Django中。例如:
class Keg(models.Model):
tapped = models.BooleanField('Tapped')
beer = models.CharField(max_length=32)
floor = models.ForeignKey("Floor")
class Floor(models.Model):
pass
答案 1 :(得分:1)
使用OneToOneField字段。 One-to-one relationships
的文档class Floor(models.Model):
keg = models.OneToOneField(Keg)