Django教程中有这一行,100:
p.choice_set.create(choice='Not much', votes=0)
choice_set
是如何产生的?它是什么?
我想choice
部分是本教程中使用的Choice
模型的小写版本,但choice_set
是什么?你能详细说明一下吗?
UPDATE:根据Ben的答案,我找到了这个文档:101.
Django教程中有这一行,100:
p.choice_set.create(choice='Not much', votes=0)
choice_set
是如何产生的?它是什么?
我想choice
部分是本教程中使用的Choice
模型的小写版本,但choice_set
是什么?你能详细说明一下吗?
UPDATE:根据Ben的答案,我找到了这个文档:101.
您在Choice
上创建了一个外键,它将每个外键与Question
关联.
因此,每个Choice
显式地有一个question
字段,这是您在模型中声明的.
Django的ORM也从Question
向后跟踪关系,在每个名为foo_set
的实例上自动生成一个字段,其中Foo
是模型,该模型有一个ForeignKey
字段.
choice_set
是可以创建Choice
个对象的查询集的RelatedManager
,这些对象与Question
实例有关,例如q.choice_set.all()
如果您不喜欢Django自动 Select 的foo_set
命名,或者如果您对同一个模型有多个外键,并且需要区分它们,那么可以使用related_name
参数到ForeignKey
来 Select 您自己的替代名称.