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 のクラス メソッドである必要があります。このメソッドはクエリ時の戻り値を決定するため、オブジェクトをクエリするとオブジェクトの question_text 属性が返されます。このメソッドがクラスの外で定義されている場合、このメソッドは単一の関数となり、クエリを実行すると、デフォルトで Question オブジェクトが返されます。
tianren124 さんの回答のおかげで、問題は解決しました。
リーリーまず、models.py を変更する必要があります:
models.py
上記のmodel.pyコードを変更した後、それを保存し、cmdを開いて再入力します
リーリー同時エントリー
リーリー前の質問の結果とは異なり、Question.objects.all() を入力すると、実行結果は q.question_tex "What's up?" を変更した後の値であることがわかります。
リーリー解決策:
1. モデルを変更します。ぴー
は
に配置する必要があります リーリー リーリー も載せます リーリー目の前では、理由がよくわかりません。
2. インデントに注意してください:
表現がわかりにくいかもしれません、修正してください