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フィールドが必要です。どうすればよいですか?
属性を追加 blank=True
。オプションで、 null=True
。
Django docsからわかるように、CharField
に_null=True
_を設定することはお勧めしません:
CharFieldやTextFieldなどの文字列ベースのフィールドではnullを使用しないでください。文字列ベースのフィールドにnull = Trueがある場合、それは「データなし」に2つの可能な値があることを意味します。NULLと空の文字列です。ほとんどの場合、「データなし」の値として2つの値を持つことは冗長です。 Django規則は、NULLではなく空の文字列を使用することです。1つの例外は、CharFieldにunique = Trueとblank = Trueの両方が設定されている場合です。この状況では、回避するためにnull = Trueが必要です。空白の値を持つ複数のオブジェクトを保存するときの一意の制約違反。
だから私はこの構成をお勧めします:
name = models.CharField(max_length=100, blank=True, default='')