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

How do I make a django model exclusive to another model

我有一个 Keg 和 Floor 模型

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

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

如何让小桶模型专用于地板,这意味着如果我创建一个带小桶的地板,我不想用那个小桶创建另一个地板。

使用 OneToOneField 字段。 One-to-one relationships

的文档
class Floor(models.Model):
    keg = models.OneToOneField(Keg)

听起来你想要一个多对一的关系;也就是说,一层可以有很多小桶,但是一个小桶只能在一层。

在 Django 中用 ForeignKey 表示。例如:

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

class Floor(models.Model):
    pass