0
入れ子になったキーでdefaultdictを作成しようとしています。ここに私が書いたビューがありますが、明らかに複数のキーがdefaultdictで動作しません。私は、このビューを実行するとdefaultdictではどのように2つのキーを使用できますか?
def routine_view(request, klass_id):
days = Routine.DAYS
periods = Routine.PERIODS
class_details = defaultdict(list)
classes = Routine.objects.filter(klass_id=klass_id)
for cls in classes:
class_details[cls.day][cls.period].append(cls)
context = {
"days": days,
"periods": periods,
"class_details": class_details
}
return render(request, "routine/routine_view.html", context)
私は次のエラーを取得する:
IndexError at /routine/1/
list index out of range
私はクラスのルーチンを作ろうとしています。最初のキーは日(太陽、月など)、2番目のキーはピリオド(1番目、2番目など)です。私のテンプレートでは、この '{class_details.day.period}}'のような各期間のデータに 'class_details'変数をループしてアクセスしようとしています。 – MiniGunnR
あなたが提供したコードを使用しましたが、テンプレートには何も表示されません。 – MiniGunnR
しかしこれは以前とは全く異なる質問です。これはDjangoのテンプレートで 'class_details.day'は常にリテラルキー" day "を参照します。 –