私のデータベースには私のいくつかのエラーが保存されているので、ビュー間で簡単にそれらを送ることができます。ここに私のmodels.pyです:Djangoで辞書にオブジェクトを格納する
class Errors(models.Model):
error_number = models.IntegerField(primary_key=True)
error_message = models.CharField(max_length=45)
status = models.BooleanField(default=0)
datetime = models.DateTimeField(auto_now=True)
私は後にテンプレートに渡すことができるように辞書にエラーを載せていきたいと思います。ステータスがTrue/1の場合にのみこれを実行したいと思っています。
私はErrors.objects.all()を呼び出している間にnewtworkをフラッディングしているので、これは悪いプログラムだと思うが、forループを実装する方法がわからない。
同じエラーのすべてのデータ、つまりエラー番号、エラーメッセージ、および日時をテンプレートにグループ化して表示するにはどうすればいいですか? (P.S.私は、SOのコードを尋ねることは、no-noであることを認識しています。これは、便利なサイトや例を共有しようとする人にとってはオプションです)。
例(私がmoemntで使っているように)は、何も印刷しません。
<ul>
{% for key, value in err.iteritems %}
<li>{{key}: {{value}}</li>
{% endfor %}
</ul>
あなたが名前を挙げたものの多くは、自分のコードについて考えさせました。私はそのほとんどを修正しましたが、まだサイトに送信されたデータはありません。私はソースをチェックし、これらのデータがあるはずの空白だった。 それ以外の場合、私はBooleanFieldを使用していましたので、私は "warning.status"を使用することができましたが、Charfieldを使用して、それに基づいて反復したいのですが?例えば:if(warning.error_message__startswith = 'Device')..これは良いif文ですか? – narn
'警告の場合。error_message.startswith( 'Device'): 'は動作します。あるいは、最初にそれらをフィルタリングすることができます: 'Error.objects.filter(error_message__startswith = 'デバイス')'。または、あなたの場合: 'Error.objects.filter(status = True)'。ところで、代わりに 'err.items'を使ってみてください。これはPythonではなく、Djangoのテンプレート構文です。 – username
ありがとう、それに応じて私のコードを微調整します。残念ながら 'err.items'は問題を解決しませんでした。どのように私はこれをデバッグできますか? (この条件を満たすデータベースには、正確に1行ありますので、何かを出力する必要があります)。 – narn