2016-12-05 60 views
-1

Django中有没有将子对象添加到父项的方法?我知道如何检索给予父母的孩子,但我打算做的是将孩子添加到父母,以便他们可以显示在模板中。我有一份父母名单,每个家长都需要和他们的孩子一起在模板中展示。默认情况下,我没有在模型中看到我可以在父对象中存储对于一对多关系的子对象的引用。任何帮助,将不胜感激。谢谢。在Django中通过父项访问子项

+0

你的意思ForeignKey的:

child = Child() p.children.add(child) 

如果你需要让孩子可以通过父母让他们当谈到父母和孩子时,对象? –

+0

问题不完整,添加需要的代码块 –

+0

不确定您的意思是“问题不完整”。 – Foobar

回答

1

如果我正确理解你的问题,你可以使用ForeignKey这个字段。只需添加到儿童模型:

class Child(models.Model): 
    parent = models.ForeignKey(Parent, related_name='children') 

您可以以不同的方式为父项添加子项。例如,您有一些父母p。您可以添加新的孩子是这样的:

child = Child(parent=p) 
child.save() 

或者只是使用关系:

parent.children.all() 
+0

为了达到这个目的,我必须使用赋值语句显式设置parent.children吗?通过定义一对多关系,它似乎无法工作。 – Foobar

+0

@Foobar我更新了我的答案,希望这会有所帮助。你可以在这里找到更多细节https://docs.djangoproject.com/en/1.10/topics/db/examples/many_to_one/ – neverwalkaloner