2012-06-28 16 views
95

では、デフォルトで空のクエリセットを作成します。私は、フォームでこのフィールドを持っているDjangoのフォームフィールド

city = forms.ModelChoiceField(label="city", queryset=MyCity.objects.all()) 
district = forms.ModelChoiceField(label="district", queryset=MyDistrict.objects.all()) 
area = forms.ModelChoiceField(label="area", queryset=MyArea.objects.all()) 

地区は、都市や地域をクリックしから来ている部分をクリックから来ています。 queryset=MyDistrict.objects.all()queryset=MyArea.objects.all()フォームは非常に重いです。クエリーセットをデフォルトで空にするにはどうすればよいですか?事前

答えて

246

ありがとうございます。これにより、空のクエリセットを持つことができます。

MyModel.objects.none() 

私はあなたがそのフォームを使用しようとしているのか分からないが、あなたはあなたのフィールドのようにそれを置くことができます

あなたはあなたのビューでクエリセットの変更は、URLパラメータに基づいて、ユースケースにはより多くの情報 here

+2

を見つけることができます...あなたが必要なものを得るためにクエリセット。次に、正しいクエリセットを次のように設定します。 edit_form.fields ["asset"]。queryset = Asset.objects.filter(location_id = location_id) – radtek

関連する問題