2014-09-21 12 views
20

sto usando userena e dopo aver aggiunto la seguente riga alla mia models.py'vincolo NOT NULL fallito' dopo l'aggiunta di models.py

zipcode = models.IntegerField(_('zipcode'), 
            max_length=5) 

ottengo il seguente errore dopo aver colpito il pulsante di invio su modulo di iscrizione th:

IntegrityError at /accounts/signup/ 
NOT NULL constraint failed: accounts_myprofile.zipcode 

la mia domanda è che cosa fa questo errore medio, ed è questo correlate a Userena?

+3

hai eseguito le migrazioni? Django di default non raccoglierà le modifiche ai modelli. Inoltre, se non si specifica 'null = True, blank = True', diventa un campo obbligatorio – karthikr

risposta

31

È necessario creare una migrazione, in cui si specifica il valore predefinito per un nuovo campo, poiché non si desidera che sia nullo. Se null non è richiesto, è sufficiente aggiungere null=True e creare ed eseguire la migrazione.

+2

Nota: potrebbe essere necessario eliminare i file di migrazione già presenti prima di eseguire nuovamente le makemigrations e migrare. – lolesque

6

se il campo zipcode non è un campo obbligatorio, quindi aggiungere null = True e vuoto = True, quindi eseguire makemigrations e migrare il comando per riflettere correttamente le modifiche nel database.

Problemi correlati