2013-05-02 8 views
14

मेरे पास django में निम्नलिखित मॉडल है।django मॉडल में वैकल्पिक फ़ील्ड

class Link(models.Model): 
    name = models.CharField(max_length=100) 
    url = models.CharField(max_length=100) 
    tag = models.CharField(max_length=100) 

    def __unicode__(self): 
     return self.name 

मुझे यूआरएल फ़ील्ड को वैकल्पिक होने की आवश्यकता है। मैं यह कैसे करु?

उत्तर

30

विशेषता जोड़ें blank=True। वैकल्पिक रूप से, आप null=True के साथ फ़ील्ड को भी सक्षम बना सकते हैं।

4

CharField के लिए null=True सेट करने की सलाह नहीं है, जैसा कि आप Django डॉक्स से देख सकते हैं: इस तरह के CharField और TextField के रूप में स्ट्रिंग आधारित क्षेत्रों पर अशक्त का उपयोग कर

से बचें। यदि एक स्ट्रिंग-आधारित फ़ील्ड में शून्य = सही है, तो इसका अर्थ है कि इसमें "कोई डेटा नहीं" के लिए दो संभावित मान हैं: NULL, और खाली स्ट्रिंग। ज्यादातर मामलों में, "डेटा नहीं" के लिए दो संभावित मान होने के लिए अनावश्यक है, Django सम्मेलन खाली स्ट्रिंग का उपयोग करना है, न कि पूर्ण। एक अपवाद तब होता है जब एक CharField दोनों अद्वितीय = सही और खाली = सही सेट है। इस स्थिति में, खाली मूल्यों के साथ कई ऑब्जेक्ट्स सहेजते समय अद्वितीय बाधा उल्लंघन से बचने के लिए शून्य = सत्य आवश्यक है।

name = models.CharField(max_length=100, blank=True, default='')

:

तो मैं इस विन्यास की सिफारिश करेंगे

संबंधित मुद्दे