Django RestFramework:两种方式的ForeignKey关系

时间:2018-01-19 17:59:27

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

父母和子女有两种模式。

class Parent(models.Model):
    name = models.CharField(max_length=128)
    children = ?

class Children(models.Model):
    name = models.CharField(max_length=128)
    parent = ?

如果我们需要子实例将父项作为模型Parent的链接,我们可以在子项中使用ForeignKey,反之亦然。

如果父母A有孩子B和C,我们希望A有孩子B和C的ID,孩子B和C有父母A的id。 即A.children =(B.id,C.id)和B.parent = A.id,C.parent = A.id。

我们如何实现这一目标?

parent = models.ForeignKey(Parent, related_name='children')

可以使用吗?

1 个答案:

答案 0 :(得分:1)

是的,如果Child实例只有一个父项,则父模型的ForeignKey字段是正确的关系。你的例子看起来很好,除了惯例是模型名称是单数而不是复数 - class Child(models.Model):而不是class Children(models.model):