2013-05-02 123 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 

我需要url字段是可選的。我該怎麼做呢?

回答

4

設置null=TrueCharField不建議,因爲你可以從Django文檔請參見:基於字符串的領域,如CharField和TextField使用空

避免。如果基於字符串的字段的值爲空= True,則表示它有兩個可能的值:「無數據」:NULL和空字符串。在大多數情況下,「無數據」有兩個可能的值是多餘的,Django約定是使用空字符串,而不是NULL。 CharField同時具有unique = True和blank = True的一個例外是。在這種情況下,當保存具有空白值的多個對象時,需要null = True來避免唯一的約束違規。

因此,我建議這種配置:

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