django/db/models/fields/related_descriptors.py 上的 Django 1.9.6 Keyrror `manager`,第 505 行
Django 1.9.6 Keyrror `manager` on django/db/models/fields/related_descriptors.py, Line 505
比方说,我遵循这样的 Django 模型设置:
@python_2_unicode_compatible
class Question(models.Model):
question_text = models.CharField(max_length=300)
pub_date = models.DateTimeField('date published')
def __str__(self):
return self.question_text
@python_2_unicode_compatible
class Choice(models.Model):
question = models.ForeignKey(Question, on_delete=models.CASCADE)
choice_text = models.CharField(max_length=200)
votes = models.IntegerField(default=0)
def __str__(self):
return self.choice_text
所以当我尝试在 Django 中执行这些操作时 shell
q = Question.objects.get(pk=1)
q.choice_set().all()
它没有返回空或任何东西,而是简单地出错并显示以下消息:
Traceback (most recent call last):
File "<console>", line 1, in <module>
File "/path/to/my/djangoproject/lib/python3.4/site-packages/django/db/models/fields/related_descriptors.py", line 505, in __call__
manager = getattr(self.model, kwargs.pop('manager'))
KeyError: 'manager'
我试过使用
q.choice_set()
但是没有,同样的错误。任何帮助将不胜感激。
应该是q.choice_set.all()
q = Question.objects.get(pk=1)
q.choice_set.all()
比方说,我遵循这样的 Django 模型设置:
@python_2_unicode_compatible
class Question(models.Model):
question_text = models.CharField(max_length=300)
pub_date = models.DateTimeField('date published')
def __str__(self):
return self.question_text
@python_2_unicode_compatible
class Choice(models.Model):
question = models.ForeignKey(Question, on_delete=models.CASCADE)
choice_text = models.CharField(max_length=200)
votes = models.IntegerField(default=0)
def __str__(self):
return self.choice_text
所以当我尝试在 Django 中执行这些操作时 shell
q = Question.objects.get(pk=1)
q.choice_set().all()
它没有返回空或任何东西,而是简单地出错并显示以下消息:
Traceback (most recent call last):
File "<console>", line 1, in <module>
File "/path/to/my/djangoproject/lib/python3.4/site-packages/django/db/models/fields/related_descriptors.py", line 505, in __call__
manager = getattr(self.model, kwargs.pop('manager'))
KeyError: 'manager'
我试过使用
q.choice_set()
但是没有,同样的错误。任何帮助将不胜感激。
应该是q.choice_set.all()
q = Question.objects.get(pk=1)
q.choice_set.all()