2014-09-21 5 views
20

ich userena bin mit und nach der folgenden Zeile in meinem models.py Hinzufügen‚NOT NULL nicht bestanden‘ nach dem Hinzufügen models.py

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

ich folgende Fehlermeldung erhalten, nachdem ich den Absenden-Button schlug auf Anmeldeformular:

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

Meine Frage ist, was bedeutet dieser Fehler, und ist das auf Userena bezogen?

+3

haben Sie Migrationen ausgeführt? Django übernimmt standardmäßig keine Änderungen an Modellen. Wenn Sie nicht 'null = True, blank = True' angeben, wird es außerdem zu einem erforderlichen Feld – karthikr

Antwort

31

Sie müssen eine Migration erstellen, in der Sie den Standardwert für ein neues Feld angeben, da sie nicht null sein soll. Wenn null nicht erforderlich ist, fügen Sie einfach null=True hinzu und erstellen und führen Sie die Migration aus.

+2

Hinweis: Sie müssen möglicherweise bereits vorhandene Migrationsdateien löschen, bevor Sie Makemigrationen erneut ausführen und migrieren. – lolesque

6

Wenn das Postleitzahlfeld kein erforderliches Feld ist, fügen Sie null = True und blank = True hinzu, führen Sie dann makemigrations und migrieren Sie den Befehl aus, um die Änderungen in der Datenbank widerzuspiegeln.

Verwandte Themen