0

我是一个django的初学者和它的建模结构。我想向任何人寻求答案。什么是正确的Django模型关系

我有一个模型AnimalHerd

每个牛群有多个动物和动物属于一个去就行了。所以我设计这个多对一的模型关系为例。我是以错误的方式还是应该继续这种做法?因为我与djangorestframework serializer relationsAlbumTrack模型关系混淆。请帮忙。

animal.models.py

class Animal(models.Model): 
    name = models.CharField(max_length=25) 
    date_of_birth = models.DateField() 
    birth_weight = models.IntegerField() 
    sex = models.CharField(max_length=7) 
    sibling_order = models.IntegerField() 

herd.models.py

class Herd(models.Model): 
    animal = models.ForeignKeyField(Animal, related_name="animals", on_delete=models.CASCADE) 
    name = models.CharField(max_length=25) 
    description = models.TextField(max_length=250, null=True) 

回答

1

这是南辕北辙。你有一个由一只动物组成的牧群,但属于许多畜群的动物。你需要在Animal中有ForeignKey,指向Herd。

+0

感谢您的回复,但我们如何解释djangorestframework示例中的专辑和音轨关系?我真的很迷惑。因为Album中可能有一个ForeignKey,但在Track中。很混乱。 –

+0

我不明白你对此感到困惑。一张专辑有很多曲目,就像一个牛群有许多动物一样。 –

+0

但ForeignKey不在相册中。 –