Python Django轮询教程第2部分,使用API部分
我刚开始学习Django民意测验教程,在本教程第2部分的API部分遇到了一些困难 如本文所述,我将models.py中的代码更改为:Python Django轮询教程第2部分,使用API部分,python,django,Python,Django,我刚开始学习Django民意测验教程,在本教程第2部分的API部分遇到了一些困难 如本文所述,我将models.py中的代码更改为: from django.db import models from django.utils.encoding import python_2_unicode_compatible @python_2_unicode_compatible class Question(models.Model): def __str__(self): r
from django.db import models
from django.utils.encoding import python_2_unicode_compatible
@python_2_unicode_compatible
class Question(models.Model):
def __str__(self):
return self.question_text
@python_2_unicode_compatible
class Choice(models.Model):
def __str__(self):
return self.choice_text
现在,根据教程,在shell中键入
Question.objects.all()
应该返回[您使用的是哪个版本的Python?
向类中添加特殊的repr方法,如下所示:
def __repr__(self):
return 'Question: ' + self.question_text
确保在添加\uu str\uuu
方法后重新启动了shell。我是否遗漏了什么?我没有看到那些模型中定义的问题文本
或选择文本
字段……非常感谢您的回答,Alaisdair。不幸的是,重新启动后我仍然有同样的问题。您使用的是python 3吗?不,我正在使用Python2您不必重写\uuuuRepr\uUu
-Django模型已经是一个\uuuRepr\uUu
模型,该模型将包含\uUu str\uUu
的结果。严格来说,repr应该给出适用于重新创建对象的输出,但我不确定您是否需要从Django shell中的字符串重新创建复杂对象。因此我认为它不是糟糕。