Ho un modello come questo con Django 1.1:Does model.CharField ('blank = False') funziona con save()?
class Booking(models.Model):
name = models.CharField(max_length=100)
Per impostazione predefinita, sto leggendo che sia 'nulla' e 'in bianco' sono false.
Così con un test come questo ...
class SimpleTest(TestCase):
def test_booking_save(self):
b = Booking()
b.save()
... mi aspettavo che il salvataggio un'eccezione. Ma non è così. Sembra abbastanza felice di creare un nuovo record con un nome vuoto (Postgres e SQLite3).
Ho notato che tramite l'interfaccia di amministrazione un salvataggio effettivamente fallisce con un "questo campo è richiesto".
Le domande sono:
- è il 'vuoto' attributo applicato solo da forme?
- La correzione sostituisce il metodo save() e controlla esplicitamente len (nome)! = 0?
- Ho frainteso qualcosa che, una volta capito, risolve il mio malinteso?
La risposta al titolo è "No". Sembra prassi comune assumere dati validi sul modello e affidare la convalida al modulo. –
http://stackoverflow.com/questions/6940499/how-can-you-create-a-non-empty-charfield-in-django –