मैं एक ऐसा फॉर्म बनाने की कोशिश कर रहा हूँ जहाँ एक चुनिंदा सूची को एक टपल पैरामीटर से आरम्भ किया जा सकता है जिसे मैं फॉर्म ऑब्जेक्ट के निर्माण में पास करता हूँ।
मैंने निम्नलिखित करने की कोशिश की, जिसके लिए काम कियारूप उत्पन्न करना। लेकिन जब मैं फॉर्म जमा करने की कोशिश करता हूं, तो मुझे एक is_valid () = झूठी त्रुटि मिलती है। नीचे दिए गए उदाहरण में my वेरिएबल वैरिएबल डेटा है जो मुझे फॉर्म के इनिशियलाइज़ेशन पर गतिशील रूप से लोड करने के लिए पसंद है। यहाँ कोई मदद?
class SessionInfoForm(forms.ModelForm):
def __init__(self, myrooms = None, *args, **kwargs):
super(SessionInfoForm, self).__init__(*args, **kwargs)
if myrooms != None:
self.fields["room"].choices = myrooms
class Meta:
model = SessionInfo
fields = ["title", "room", "viewer_limit", "starttime", "endtime", "billing_type", "billing_value"]
उत्तर:
उत्तर № 1 के लिए 1आप शायद उसी सूची को पास करना भूल रहे हैं myrooms
परिणामों को मान्य करते समय।
आपको इसे पास करना होगा दोनों प्रतिपादन और सत्यापन के लिए।
जवाब के लिए 0 № 2
बस बदल दो self.fields["room"].choices = myrooms
सेवा मेरे self.fields["room"].widget.choices = myrooms
, मैं पहले से ही अपने सवाल में संपादित किया है