मैं निम्नलिखित की तरह मेरे मॉडलों में से एक में एक क्षेत्र है:मॉडलफॉर्म पसंद फ़ील्ड के लिए empty_label कैसे बदलें?
payrollProvider = models.CharField(max_length=2, choices=PAYROLL_CHOICES)
PAYROLL_CHOICES = (
('C1', 'Choice1'),
('C2', 'Choice2')
etc.....
)
जब मैं इस क्षेत्र के लिए एक मॉडल फ़ॉर्म बनाते हैं, Django सही ढंग से एक HTML सलेक्ट बॉक्स उत्पन्न करता है, लेकिन "का एक डिफ़ॉल्ट रिक्त मूल्य शामिल हैं - ------- "।
मैं जानना चाहता हूं कि इस डिफ़ॉल्ट मान को किसी अन्य पाठ में कैसे बदलें, जैसे "कृपया मूल्य चुनें"।
मेरा मानना है कि मैं निम्नलिखित के माध्यम से अपने मॉडल फार्म के init में यह स्थापित करने के लिए सक्षम होना चाहिए, in this answer और कई अन्य दस्तावेज के रूप में:
self.fields['payrollProvider'].empty_label = "please choose value"
बहरहाल, यह मेरे लिए काम नहीं कर रहा है। जब मैं अपने फॉर्म के init में उस पंक्ति को शामिल करता हूं, तो "--------" अभी भी चयन बॉक्स में प्रारंभिक पसंद के रूप में दिखाई देता है। मैं नीचे प्रासंगिक form.py चिपका रहा हूँ, लेकिन ऐसा लगता है कि दूसरों के पास also been unable to access/modify empty_label है। इस लिंक पर, प्रश्नकर्ता को डिफ़ॉल्ट खाली_लेबल मान (जिसे मैं अपनी विधि के माध्यम से सफलतापूर्वक करने में सक्षम था) को हटा देता हूं, लेकिन मैं वास्तव में क्या करना चाहता हूं प्रदर्शित होने वाले खाली_लेबल को संशोधित करता है।
कोई विचार?
यहाँ forms.py में फार्म के लिए कोड है, empty_label कोड कि डिफ़ॉल्ट बदल रहा है पर सफल नहीं होता है के साथ "----------":
class PayrollCredentialForm(forms.ModelForm):
def __init__(self, *args, **kwargs):
super(PayrollCredentialForm, self).__init__(*args, **kwargs)
self.fields['payrollUsername'].widget.attrs.update({'class' : 'yp-signup'})
self.fields['payrollPassword'].widget.attrs.update({'class' : 'yp-signup'})
self.fields['payrollProvider'].widget.attrs.update({'class' : 'yp-signup'})
self.fields['payrollUsername'].widget.attrs.update({'placeholder' : ' Payroll Username'})
self.fields['payrollPassword'].widget.attrs.update({'placeholder' : ' Payroll Password'})
self.fields['payrollProvider'].empty_label = "please choose value"
class Meta:
model = Company
fields = ('payrollProvider', 'payrollUsername', 'payrollPassword')
widgets = {
'payrollPassword': forms.PasswordInput(),
}
धन्यवाद ! बहुत सराहना की। – CQP