首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >‘'Questions’对象没有属性'choice_set‘

‘'Questions’对象没有属性'choice_set‘
EN

Stack Overflow用户
提问于 2018-06-18 00:27:35
回答 3查看 1.8K关注 0票数 1

我一直在跟踪Django文档“编写应用程序教程”,并且一直遇到上述错误。好像是从这条线上来的

代码语言:javascript
复制
selected_choice = question.choice_set.get(pk=request.POST['choice']) 

这是我的问题和选择对象:

代码语言:javascript
复制
class Questions(models.Model):
    question_text = models.CharField(max_length=200)
    pub_date = models.DateTimeField('date Published')
    def __str__(self):
        return self.question_text

class Choices(models.Model):
    questions = models.ForeignKey(Questions, on_delete=models.CASCADE)
    choice_text = models.CharField(max_length=200)
    votes = models.IntegerField(default=0)
    def __str__(self):
        return self.choice_text

代码与官方文档中的代码完全一样,所以我无法确切地知道错误来自何处

EN

回答 3

Stack Overflow用户

回答已采纳

发布于 2018-06-18 01:10:17

"choice_set“是作为问题中的对象创建的,因为选项模型与问题有foreignKey关系,因此对于问题中的每个条目,可能会有一些选择实例(选项表中的数据行)。一般规则是模型名称的小写版本,后面跟着"_set“。

您的模型称为选择复数(带有's'),因此该集合可能称为"choices_set".我很确定这就是你的问题所在。

票数 3
EN

Stack Overflow用户

发布于 2018-06-18 00:33:33

您需要用外键定义选择模型,否则django将不会创建choice_set。

票数 0
EN

Stack Overflow用户

发布于 2020-03-21 23:52:34

你的类名是选择,所以如果你尝试choices_set,事情可能会起作用

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/50901465

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档