在Django中选择具有ForeignKey的对象的子项?

Vor*_*ico 8 python django

我是Django的新手,所以答案很简单.但是,我无法弄明白.

说我有两个裸骨模型.

class Blog(models.Model):
    title = models.CharField(max_length=160)
    text = models.TextField()

class Comment(models.Model):
    blog = models.ForeignKey(Blog)
    text = models.TextField()
Run Code Online (Sandbox Code Playgroud)

在Python/Django shell中,如果我在变量中有一个Blog对象(比如说blog = Blog.objects.get(id=3)),我该如何选择它的所有子注释?

这似乎不起作用: blog.objects.all()

sec*_*ond 22

按照你使用的外键'向后'

blog.comment_set.all()
Run Code Online (Sandbox Code Playgroud)

  • 我简直不敢相信我在文档的制作查询页面上传递了它!谢谢! (3认同)
  • 我知道这是一个老问题,但只是想提一下“<model>_set”是默认值,除非在子模型上给出了“lated_name”。_“您可以通过在外键定义中设置 related_name 参数来覆盖 FOO_set 名称。”_ -- https://docs.djangoproject.com/en/3.0/topics/db/queries/#backwards-lated-objects (2认同)