什么是正确的Django模型关系

时间:2016-11-11 08:19:03

标签: python django django-models django-rest-framework relational-database

我是django的初学者及其建模结构。我想向任何人寻求答案。

我有一个模型AnimalHerd

每只牛群都有多只动物,一只动物属于牛群。所以我将这种多对一的模型关系设计为一个例子。我是以错误的方式还是应该继续这种做法?因为我对AlbumTrack模型关系的djangorestframework serializer relations感到困惑。请帮忙。

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 个答案:

答案 0 :(得分:1)

这是错误的方式。你有一只由一只动物组成的群体,但是一种属于许多群体的动物。你需要在Animal中使用ForeignKey,指向Herd。