小编典典

这个 Django 应用教程中的choice_set 是什么?

all

在 Django 教程,编写您的第一个 Django 应用程序,第 1
部分
中有这一行:

p.choice_set.create(choice='Not much', votes=0)

如何被choice_set称为存在,它是什么?

我想这choice部分是Choice教程中使用的模型的小写版本,但什么是choice_set?你能详细说明吗?

更新: 根据Ben的回答,我找到了这个文档:Following relationships
“backward”


阅读 43

收藏
2022-07-30

共1个答案

小编典典

您创建了一个外键Choice,每个外键都与Question.

因此,每个Choice显式都有一个question字段,您在模型中声明了该字段。

Django 的 ORMQuestion也遵循这种关系,在每个实例上自动生成一个字段,称为foo_setwhere Foois the
model with a ForeignKeyfield to that model。

choice_set是一个RelatedManager可以创建Choice与实例相关的对象的查询集Question,例如q.choice_set.all()

如果你不喜欢foo_setDjango
自动选择的命名,或者如果你对同一个模型有多个外键并且需要区分它们,你可以related_name使用ForeignKey.

2022-07-30