2012-06-28 13 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() 

हालांकि मुझे पता नहीं कैसे आपको लगता है कि फार्म का उपयोग करने जा रहे हैं, आप अपने क्षेत्र के रूप में रख सकते हैं आपको क्या चाहिए प्राप्त करने के लिए क्वेरीसमूह ...

आप अधिक जानकारी के here

+2

उपयोग के मामले कि यूआरएल मापदंडों के आधार पर अपने दृश्य में अपने क्वेरीसमूह परिवर्तन में पा सकते हैं। फिर आपके विचार में आपने सही क्वेरीसेट सेट किया है: edit_form.fields ["परिसंपत्ति"]। Queryset = Asset.objects.filter (location_id = location_id) – radtek

संबंधित मुद्दे