如何使django模型专用于另一个模型

时间:2015-05-20 05:29:23

标签: django django-models

我有一个小桶和地板模型

class Keg(models.Model):
    tapped = models.BooleanField('Tapped')
    beer = models.CharField(max_length=32)

class Floor(models.Model):
    kegs = models.ManyToManyField(Keg)

如何将小桶模型专用于地板,这意味着如果我创建一个带有桶的地板,我不希望能够用该桶创建另一个地板。

2 个答案:

答案 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)