2016-04-14 20 views
5

ile Gerçek göç (Full description):Django ArrayField boş = yüzden diyor Postgresql üzerinde yeni alanlar oluşturmak için Django dokümanlar içinde Postgresql

... yolu olarak, her zaman null=True ile yeni sütunlar oluşturmak tavsiye onlar hemen eklenecektir.

Ne ben böyle bir ArrayField, bir şey yaratmak istiyorsanız:

tags = ArrayField(models.CharField(max_length=255, blank=True, default=''), default=list, null=True) 

Ben de geçerlerse null=TrueCharField içine bu ArrayField içinde mi?

+2

https://docs.djangoproject.com/es/1.9/ref/contrib/postgres/fields/#arrayfield adresinden okumak bana sadece gerçek ArrayField öğesinin null olması gerektiğine inanıyor. * sadece tip, doğrulama vb. için kullanılır. –

+0

'null = True' öğesini ayarlarsanız, büyük olasılıkla' blank = True' değerini de ayarlamanız gerektiğini unutmayın. Aksi halde, model formlarını temizlerken hatalar elde edersiniz. –

cevap

3

İç tipte null=True ayarının size herhangi bir fayda sağladığını düşünmüyorum. Başvurduğunuz dokümanlardaki not yalnızca sütunun kendisi için geçerlidir, bu nedenle ArrayField boş olduğunda, veritabanının tam bir tablo yeniden yazması gerekmeyecektir.

İç türün boş olmasına izin verirseniz, kodunuzda bununla uğraşmanız gerekir; bu tam olarak istediğiniz gibi olmayabilir.