Django ModelChoiceField: filtering query set and setting default value as an object -


मेरे पास एक Django Form class है जिसे मॉडल :

  class AccountDetailsForm (forms.Form): ... adminuser = forms.ModelChoiceField (queryset = User.objects.all ())   

यह ठीक काम करता है, लेकिन इसमें कुछ सीमाएं हैं मुझे आस-पास काम करने में असमर्थ हैं:

(1) मैं एक वैरिएबल अकाउंटिड फॉर्म के पास, इस तरह से: क्वेरी के आधार पर एक फिल्टर का उपयोग करना चाहूंगा:

  User.objects.filter (खाता = अकाउंटिड)   

यह मॉडल में काम नहीं कर सकता क्योंकि accountid can ' निश्चित रूप से एक चर के रूप में पारित नहीं किया जा सकता है।

यह निम्नानुसार है कि queryset को किसी भी तरह दृश्य में परिभाषित किया जाना चाहिए, लेकिन जहां तक ​​मैं कर सकता हूं देखें कि यह फॉर्म श्रेणी में एक आवश्यक फ़ील्ड है।

(2) मैं डेटाबेस में एक ऑब्जेक्ट AccountDetailsForm की डिफ़ॉल्ट पसंद करना चाहूंगा, जिसे मैं < कोड> दृश्य इस तरह:

  User.objects.fi Lter (account = accountid) .filter (primary_user = 1)   

मैंने व्यवस्थापक उपयोगकर्ता को फ़ॉर्म में एक डिफ़ॉल्ट मान के रूप में निर्दिष्ट करने की कोशिश की है, (जो अन्य मानक फ़ॉर्म फ़ील्ड के साथ काम करता है, जैसे < Code> CharField ):

  adminuser = User.objects.filter (खाता = अकाउंटिड) .filter (प्राथमिक_जैर = 1) ... फ़ॉर्म = अकाउंट विवरणफॉर्म ({'adminuser':   

लेकिन कोई भाग्य नहीं है। P> क्या मुझे ModelChoiceField के अलावा कुछ और का उपयोग करना चाहिए जो मुझे यहां आवश्यकता है?

धन्यवाद।

Comments