question_text のプロパティを変更して保存しました
次に、__str__() メソッドを追加し、すべての質問を再度クエリします。
http://www.yiibai.com/django/... に従って実装されています。私はちょうどそれを学びました。私の手順は、このチュートリアルと同じで、__str__ () を追加することです。メソッドを使用すると、チュートリアルの正しい表示は次のようになります:
q.question_text = "What's up?"
q.save( )
Question.objects.all()
結果は以下のようになります:この理由は? —Django1.9、データベースはデフォルトの sqlite3
です
def __str__这应该是模型Question的类方法,这个方法决定了你查询时的返回,你定义的 return self.question_text,所以你查询到对象的时候它会返回对象的question_text属性, 但是你的书写格式错误,将这个方法定义到了类外面,它就变成了一个单一的函数,跟这个类没什么关系了, 你查询的时候就会默认返回一个Question对象。
感谢tianren124的解答,问题得到了解决。
首先需要修改models.py:
models.py
更改好上面的model.py代码后保存,打开cmd,重新输入
同时输入
可以看到,不同于之前问题中的结果,当输入Question.objects.all()后,运行结果是我更改q.question_tex后的值 “What's up?
解决:
1.修改models.py
应该放在
同样要放在
的前面,至于为什么我自己也不太明白。
![](http://img.php.cn/upload/image/000/000/000/216145a9ca04d92a077b37380db741e9-0.png)
2.注意缩进:
表述的可能不是很清楚,欢迎指正