【问题标题】:Access Children Through Parent in Django通过 Django 中的父级访问子级
【发布时间】:2017-04-20 02:42:35
【问题描述】:

在 Django 中有没有办法将子对象添加到父对象?我知道如何在给定父母的情况下检索孩子,但我打算将孩子添加到父母中,以便它们可以显示在模板中。我有一个父母列表,每个父母都需要在模板中显示他们的孩子。默认情况下,我在模型中看不到可以在父对象中存储对子对象的引用以实现一对多关系。任何帮助,将不胜感激。谢谢。

【问题讨论】:

  • 在谈到父母和孩子时,您是指 ForeignKey 对象吗?
  • 问题不完整,添加需要的代码块
  • 不确定您所说的“问题不完整”是什么意思。

标签: python django parent children


【解决方案1】:

如果我正确理解了您的问题,您可以为此使用ForeignKey 字段。只需添加到 Child 模型:

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

您可以通过不同的方式为父级添加子级。例如,您有一些父 p。你可以像这样添加新的孩子:

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

或者只是使用关系:

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

如果你需要得到孩子,你可以通过父母得到他们:

parent.children.all()

【讨论】:

  • 为了使其工作,我是否必须使用赋值语句显式设置 parent.children?仅仅通过定义一对多关系,它似乎不起作用。
  • @Foobar 我更新了我的答案,希望这会有所帮助。你可以在这里找到更多细节docs.djangoproject.com/en/1.10/topics/db/examples/many_to_one
猜你喜欢
  • 1970-01-01
  • 2021-08-29
  • 1970-01-01
  • 2023-03-28
  • 2014-07-13
  • 2017-06-09
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多