http://www.darioagliottone.it/model-django-parte-2/
Tipi di campo
Ogni campo dovrebbe essere la giusta istanza della classe Field. il type Fields usato per stabilire : Il tipo della colonna (es. INTEGER , VARCHAR ). Il widget da utilizzare nell interfaccia di amministrazione di Django, (se la si vuole). I requisiti richiesti dai forms generati automaticamente dal admin di Django. Django ha gi un set di tipi campo predefinite che vedremo pi avanti, ma si possono scrivere facilmente i propri tipi di campo
null
Se True, Django memorizzer i valori vuoti come NULL nel database. Il valore predefinito False.
blank
Se True, il campo pu essere vuoto. Il valore predefinito False. Attenzione, questo diverso da NULL . NULL riguarda il database, mentre blank fa parte della validazione del form. Se un campo blank= True, dal Backend di Django si pu lasciare il valore del campo vuoto. Mentre se blank = False , sar obbligatorio inserire un valore.
choices
Un iterable (come una lista o una tupla) di 2-tuple da usare come scelta per il campo. Se viene settato questo argomento ladmin Django user una select box invece del campo di testo standard cos da limitare la scelta a quelle indicate. Una choices list pu essere questa: 1 2 3 4 5 6 7 YEAR_IN_SCHOOL_CHOICES
=
( (u'FR',
u'Freshman'), (u'SO',
u'Sophomore'), (u'JR',
u'Junior'), (u'SR',
u'Senior'), (u'GR',
u'Graduate'), )
Il primo elemento di ogni tupla il valore che verr memorizzato nel database, il secondo elemento sar visualizzato dalla interfaccia di amministrazione, o in uno ModelChoiceField. Data un istanza del modello, con il metodo get_FOO_display si pu vedere il valore mostrato delle scelte. Ad esempio: 1 2 3 4 5 6 7 8 from django.db import models class Person(models.Model): GENDER_CHOICES = ( (u'M', u'Male'), (u'F', u'Female'), ) name = models.CharField(max_length=60) gender = models.CharField(max_length=2, choices=GENDER_CHOICES)
1 di 2
18/05/12 13.53
http://www.darioagliottone.it/model-django-parte-2/
9 10
>>> p = Person(name="Fred Flintstone", gender="M") >>> p.save() >>> p.gender u'M' >>> p.get_gender_display() u'Male'
default
il valore predefinito per il campo. pu essere un valore o un metodo. Se un metodo sar chiamato ogni volta che viene creato un nuovo oggetto.
help_text
Extra testo help sar visualizzato sotto il campo nel form dell admin delloggetto. E utile per la documentazione, anche se loggetto non ha un form.
primary_key
Se True, questo campo sar la chiave primaria per il modello. Se non si dichiara primary_key = True nei campi del modello, Django automaticamente aggiunger un campo IntegerField come chiave primaria, quindi non c bisogno di impostare primary_key = True su uno qualsiasi dei campi a meno che non si desidera modificare il comportamento predefinito per la chiave primaria.
unique
Se True, questo campo deve essere univoco in tutta la tabella.
Per la reference ufficiale in inglese consultare Models. Per una lista pi ampia consultare Common Fields
2 di 2
18/05/12 13.53