所以我在看这篇文章试图解决我的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
答案 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)
# ^^^^^