Ich baue eine Django-Webanwendung mit einem benutzerdefinierten Benutzermodell. Am Ende des Anmeldevorgangs tritt beim Senden des Formulars ein Integritätsfehler auf. HierWarum bekomme ich einen Integritätsfehler django?
ist der Fehler:
Exception Type: IntegrityError
Exception Value: NOT NULL constraint failed: accounts_user.job_history_id
Dieser Fehler zeigt an, dass das Feld in dem benutzerdefinierten Benutzermodell namens job_history nicht null sein kann. Ein solches Feld existiert jedoch nicht einmal.
Hier ist mein individuelles Benutzermodell:
class User(AbstractBaseUser, PermissionsMixin):
email = models.EmailField(unique=True)
username = models.CharField(max_length=40, unique=True)
avatar = models.ImageField(blank=True, null=True)
date_joined = models.DateTimeField(default=timezone.now)
is_active = models.BooleanField(default=True)
is_staff = models.BooleanField(default=False)
objects = UserManager()
USERNAME_FIELD = "email"
REQUIRED_FIELDS = ["username", "password"]
def __str__(self):
return "@{}".format(self.username)
def get_short_name(self):
return self.username
Ich habe keine Ahnung, was dieser Fehler bezieht und warum es auftritt. Ich habe das Feld job_history
an einem früheren Punkt hinzugefügt, aber seitdem gelöscht und die Datenbank entsprechend aktualisiert. Dieser Fehler trat erst auf, als ich an den Job- und Benutzermodellen herumfummelte, um ein Feld zu erreichen, in dem die zuvor ausgeführten Jobs der Benutzer gespeichert werden konnten. Weitere Details finden Sie in this Stackoverflow-Fragen.
Warum tritt der Integritätsfehler auf und wie behebe ich ihn?
löschen Haben Sie Makemigrationen ausgeführt und migriert, nachdem Sie das Feld job_history entfernt haben? –
Ja und wenn ich es tue, sagt nur: 'Keine Änderungen erkannt' @GagikSukiasyan –
Bitte versuchen Makemigration zu laufen, dann migrieren Sie für Ihre Anwendungen, es besser starten mit' manage.py migrieren Sites 'dann' manage.py migrieren auth' –