Django教程 - choice_set typeerror

时间:2017-08-16 06:39:22

标签: python django

所以我在看这篇文章试图解决我的Django教程中遇到的一些问题:

TypeError: 'choice_text' is an invalid keyword argument for this function in django tutorial

这是我的代码:

from polls.models import Question, Choice
q.choice_set.create(choice_text='Not much', votes=0)
q.choice_set.create(choice='Not much', votes=0)

在采用将“choice_text”更改为“choice”的建议解决方案后,我仍然面临完全相同的问题 - 即完全相同的错误消息,Django教程的文档版本适用于Django 1.11(我的版本) 。有人知道创建选择集的正确语法吗?

谢谢!

补充信息:我的models.py文件定义了问题和选择。

class Question(models.Model):
    question_text = models.CharField(max_length=200)
    pub_date = models.DateTimeField('date published')

    def __str__(self):
        return self.question_text

    def was_published_recently(self):
        return self.pub_date >= timezone.now() - datetime.timedelta(days=1)


class Choice(models.Model):
    question = models.ForeignKey(Question, on_delete=models.CASCADE)
    choice_texct = models.CharField(max_length=200)
    votes = models.IntegerField(default = 0)

    def __str__(self):
        return self.choice_text

1 个答案:

答案 0 :(得分:1)

你在模特中输错:

choice_texct = models.CharField(max_length=200)
#      ^^^^

需要替换

choice_text = models.CharField(max_length=200)
#      ^^^^

并且不要忘记进行迁移,

您的代码需要

q.choice_set.create(choice_text='Not much', votes=0)

替换为

q.choice_set.create(choice_texct='Not much', votes=0)
#                          ^^^^^