问题:在此Django应用程序教程中,choice_set是什么?
Django教程中的这一行,编写您的第一个Django应用,第1部分:
p.choice_set.create(choice='Not much', votes=0)它是如何choice_set存在的?它是什么?
我想这choice部分是Choice本教程中使用的模型的小写版本,但是什么是choice_set?你能详细说明吗?
回答 0
您创建了一个外键Choice,每个外键都与关联Question。
因此,每个Choice显式都有一个question字段,您可以在模型中声明该字段。
Django的ORM也遵循这种关系Question,在每个实例上自动生成一个名为foo_setwhere Foo是模型的ForeignKey字段,其中包含该模型的字段。
choice_set是一个RelatedManager可以创建Choice与Question实例相关的对象的查询集的,例如q.choice_set.all()
如果您不喜欢foo_setDjango自动选择的命名,或者您对同一个模型拥有多个外键并需要区分它们,则可以使用related_name参数to 来选择自己的替代名称ForeignKey。
	声明:本站所有文章,如无特殊说明或标注,均为本站原创发布。任何个人或组织,在未征得本站同意时,禁止复制、盗用、采集、发布本站内容到任何网站、书籍等各类媒体平台。如若本站内容侵犯了原著者的合法权益,可联系我们进行处理。

