एक ड्रॉप डाउन सूची में विकल्पों को सीमित करने के लिए, अपने मॉडल में us.us_states.STATE_CHOICES
का उपयोग करें, और अपने फॉर्म में us.forms.USStateSelect()
के बजाय us.forms.USStateField()
का उपयोग करें।
किसी फ़ॉर्म में फ़ील्ड को वैकल्पिक बनाने के लिए, मॉडल में उस क्षेत्र में blank = True
जोड़ें।
from django.contrib.localflavor.us.us_states import STATE_CHOICES
from django.contrib.localflavor.us.models import USStateField
class ExampleLocation(models.Model):
address1 = models.CharField(max_length=45) #this is not optional in a form
address2 = models.CharField(max_length=45, blank = True) #this is made optional
state = USStateField(choices = STATE_CHOICES)
के बजाय STATE_CHOICES
, वहाँ कई विकल्प आप in the localflavor
documentation पा सकते हैं। STATE_CHOICES
सबसे समावेशी है, लेकिन यह आपकी इच्छा नहीं हो सकता है। यदि आप केवल 50 राज्यों, प्लस डीसी चाहते हैं, तो US_STATES
का उपयोग करें।
इस उत्तर आप ModelForms उपयोग कर रहे हैं मान लिया गया है। यदि आप नहीं हैं, तो आपको होना चाहिए। जब आप अपने मॉडल बनाया है, तो आप सूखी का पालन करना चाहिए और इतने की तरह बुनियादी रूपों बनाने के लिए:
from django.forms import ModelForm
class ExampleForm(ModelForm):
class Meta:
model = ExampleLocation
और यह अपने मॉडल से अपने खेतों इनहेरिट करती है। यदि आप class Meta
विकल्पों जैसे fields
या exclude
के साथ पूरे मॉडल को नहीं चाहते हैं, तो आप कौन से फ़ील्ड उपलब्ध हैं अनुकूलित कर सकते हैं। मॉडल फॉर्म किसी भी अन्य रूप के रूप में अनुकूलन योग्य हैं, वे बस आपके मॉडल के फ़ील्ड की धारणा से शुरू होते हैं।
स्रोत
2011-06-21 06:43:17
क्या आप अपनी फॉर्म क्लास के लिए कोड पोस्ट कर सकते हैं? –
ईड्स देखें – Eva611