मैं "-------------" विकल्प Django से छुटकारा पाने के लिए चाहते हैं को हटाने के कुछ चुने हुए इनपुट एक ModelFormModelChoiceField, खाली विकल्प
यह पर एक विदेशी कुंजी का प्रतिनिधित्व करने में कहते हैं been answered कि आप empty_label=none
विकल्प का उपयोग कर सकते हैं, लेकिन मेरे पास मॉडलफॉर्म है, नियमित रूप से नहीं है और फ़ील्ड को ओवरराइड करने की अनुमति नहीं है।
मुझे पता है कि मैं आदेश
self.fields['my_foreign_key'].queryset = ....
का उपयोग कर एक ModelChoiceField के क्वेरीसमूह को संशोधित करने में ModelForm की __init__()
विधि ओवरराइड कर सकते हैं लेकिन यह, वास्तव में बदसूरत हो जाएगा के रूप में इस "मुख्य" पर 10 से अधिक foreign_keys होता है मॉडल, और वहाँ एक Modelform की तुलना में अधिक इस मॉडल
पर आधारित है पूरे संदर्भ:
- प्रत्येक एक ही करने के लिए इन foreign_key बिंदुओं में से एक मॉडल के प्रकार: वे विकल्प के विशिष्ट सूचियां हैं, व्यवस्थापक के माध्यम से उनके संशोधन को कम करने के लिए कई मॉडल हैं।
- ये सभी मॉडल मुख्य मॉडल से "to_field = code" संबंध के माध्यम से एक चार्फील्ड के आधार पर संबंधित हैं, जिसमें एक तीन-अक्षर कोड होता है (हे, मेरी गलती नहीं, मुझे विरासत एमएस एक्सेस डीबी का उपयोग करना था) इस CharField
blank=True, unique=True
विकल्प है, तो मैं, प्रत्येक सूची के लिए, एक"---No information yet---"
रिकॉर्ड है जो है, तो आप यकीन है, एक तीन पत्र कोड के स्थान पर एक खाली मूल्य ...
बना सकते हैं अब स्थिति यह है: मैं मिल एक "खाली मूल्य" विकल्पों के साथ एक चयन इनपुट फ़ील्ड: django एक और मेरा, एक के बाद एक। मैं सिर्फ एक 'empty_label = none` विकल्प यहाँ भी याद आती है ...
मुझे लगता है कि आप को फिर से परिभाषित/क्षेत्र के ऊपर लिख सकते हैं। मैं डेटटाइम मॉडल फ़ील्ड को फॉर्मफिल्ड (और डेटफिल्ड का एक अतिरिक्त फ़ील्ड जोड़ता हूं) में बदलने के लिए ऐसा करता हूं। फिर मैं तिथि और समय क्षेत्रों को गठबंधन करने के लिए फॉर्म की साफ() विधि को ओवरराइड करता हूं। –