私はクエリセットを使用して選択肢をフィルタリングすることになっているDjangoのフォームを持っている:Djangoフォームでクエリーセットキャッシュを無効にする方法は?
class GenerateStudentAttendanceForm(forms.Form):
selected_class = forms.ModelChoiceField(queryset=Class.on_site.filter(
is_active=True,
academic_year__is_active=True
))
date = forms.DateField(initial=now().date())
問題は、フォームがインスタンス化され、サイトが変更された場合でも、後続の要求のために使用される場合にClass.on_site.filter
が評価されていることです。
どうすればこの問題を回避できますか?
Classオブジェクトの1つが削除されても、ドロップダウンリストで引き続き使用できると言っていますか? –
@SandeepBalagopal私はそれを試していませんでしたが、表示されているクラスはデフォルトのサイトからのものであるため、そう思っています。 –
'on_site'が何であるかを示す必要があります。 –