Python ';问题';对象没有属性';选择集';
我一直在遵循Django文档“编写你的应用程序教程”,并不断遇到上述错误。好像是从这一行来的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
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。代码与文档不完全一样。你的模型被称为问题和选择,而不是问题和选择。像这样的事情很重要。