Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/python/305.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/django/20.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Python ';问题';对象没有属性';选择集';_Python_Django - Fatal编程技术网

Python ';问题';对象没有属性';选择集';

Python ';问题';对象没有属性';选择集';,python,django,Python,Django,我一直在遵循Django文档“编写你的应用程序教程”,并不断遇到上述错误。好像是从这一行来的 selected_choice = question.choice_set.get(pk=request.POST['choice']) 这是我的问题和选择对象: class Questions(models.Model): question_text = models.CharField(max_length=200) pub_date = models.DateTimeField

我一直在遵循Django文档“编写你的应用程序教程”,并不断遇到上述错误。好像是从这一行来的

selected_choice = question.choice_set.get(pk=request.POST['choice']) 
这是我的问题和选择对象:

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

代码与官方文档上的代码完全相同,因此我无法确切地说出错误来自哪里

您需要使用问题外键定义选择模型,否则django不会创建选择集

“选择集”被创建为问题中的对象,因为选择模型与问题具有foreignKey关系,因此对于问题中的每个条目,可能会有一些选择实例(选择表中的数据行)。一般规则是模型名称的小写版本,后跟“\u set”


您的模型称为选项复数(带“s”),因此该集合可能称为“选项s\u集合”。我很确定这是你剩下的问题。

你的类名是Choices,因此如果你尝试Choices\u set,事情可能会成功。

你还需要一个选择模型,该模型的外键是Question。代码与文档不完全一样。你的模型被称为问题和选择,而不是问题和选择。像这样的事情很重要。