SORU
22 Aralık 2011, PERŞEMBE


ayırt null=True,=django boş Doğru

Django veritabanı bir alan eklediğimizde biz genelde models.CharField(max_length=100, null=True, blank=True) yazın. Aynı ForeignKey, DecimalField vb ile yapılır. Sahip olmanın temel fark nedir

  1. null=True
  2. blank=True sadece
  3. null=True, blank=True

farklı(CharField, ForeignKey, , *ManyToManyField*12) sahaları ile ilgili. Avantajları 1/2/3 kullanmanın dezavantajları nelerdir?

CEVAP
22 Aralık 2011, PERŞEMBE


null=True NULL (NOT NULL karşı) DB sütun ayarlar. DateTimeField ForeignKey gibi Django alan türleri için boş değerleri DB NULL olarak saklanır.

blank=True saha formları gerekli olup olmayacağını belirler. Bu yönetici ve kendi özel formları içerir. Eğer blank=True sonra alan gerekli olur, Eğer False eğer ise bu alan boş bırakılamaz.

Açılan iki çok sık çünkü genellikle eğer izin alanı için boş form, aynı zamanda veritabanı için izin NULL değerleri için alan. Özel durum Django olan CharFields TextFields,aslaNULL kaydedilmiş. Boş değer boş bir dize ('') olarak DB saklanır.

Birkaç örnek:

models.DateTimeField(blank=True) # raises IntegrityError if blank

models.DateTimeField(null=True) # NULL allowed, but must be filled out in a form

Belli ki bu iki seçenek yapma, mantıksal anlamda kullan (gerçi, olabilir bir kullanım örneği için null=True, blank=False eğer istediğiniz bir alan için her zaman gerekli formları, ancak isteğe bağlı zaman ile ilgili bir nesne ile bir şey gibi kabuk.)

models.CharField(blank=True) # No problem, blank is stored as ''

models.CharField(null=True) # NULL allowed, but will never be set as NULL

CHAR TEXT tip asla Django ile NULL olarak kaydedilir, null=True gereksiz. Ancak, el ile None bu alanlardan birine NULL olarak ayarlayın zorlamak için ayarlayabilirsiniz. Eğer bu gerekli olabilir bir senaryo varsa, hala null=True içermelidir.

Bunu Paylaş:
  • Google+
  • E-Posta
Etiketler:

YORUMLAR

SPONSOR VİDEO

Rastgele Yazarlar

  • natescamp

    natescamp

    30 NİSAN 2009
  • TheDailyTechDose

    TheDailyTech

    15 EKİM 2012
  • UrAvgConsumer

    UrAvgConsume

    1 Ocak 2012