Django sagt mir immer wieder, dass meine Superuser-E-Mail gegen die Eindeutigkeitsbeschränkung verstößt

Post a reply

Smilies
:) :( :oops: :chelo: :roll: :wink: :muza: :sorry: :angel: :read: *x) :clever:
View more smilies

BBCode is ON
[img] is ON
[flash] is OFF
[url] is ON
Smilies are ON

Topic review
   

Expand view Topic review: Django sagt mir immer wieder, dass meine Superuser-E-Mail gegen die Eindeutigkeitsbeschränkung verstößt

by Guest » 13 Jan 2025, 19:17

Ich erstelle ein Django/DRF-Backend und erhalte immer wieder diese Fehlermeldung, wenn ich versuche, einen Superuser in cli:
zu erstellen

Code: Select all

psycopg2.errors.UniqueViolation: duplicate key value violates unique constraint `"users_useraccount_email_key"`
Das ist seltsam, weil ich weiß, dass ich JEDES Mal, wenn ich einen Superuser erstelle, eindeutige E-Mails verwende.
Nachdem ich mir die Fehlermeldung genauer angesehen habe, habe ich Ich habe festgestellt, dass die obige Ausnahme eine direkte Ursache für die folgende Ausnahme war:
...
viele venv-bezogene Dateien
und dann in meiner /users/managers.py, Zeile 61
Das ist nur:
user.save(using=self._db)
Am Ende des Fehlers steht:

Code: Select all

django.db.utils.IntegrityError: duplicate key value violates unique constraint "users_useraccount_email_key"
DETAIL:  Key (email)=([email protected]) already exists.
Ich verwende Postgres und verwende Postgres, um die UUID zu generieren, NICHT Python.

Code: Select all

class MyRandomUUID(Func):
class RandomUUID(Func):
template = 'GEN_RANDOM_UUID()'
# template = 'UUID_GENERATE_V4()'
output_field = 'UUIDField()'
Ich verwende Ubuntu und meine virtuelle Umgebung verwendet Python v3.8, Django v4.17 und DRF v3.15. Ich weiß, dass diese Versionen veraltet sind, aber es liegt daran, dass die Befehle installiert wurden, ohne bestimmte Versionen anzugeben.
Und ich kann mich auch nicht mehr bei /admin anmelden. Ich erhalte diesen Fehler (JEDES MAL):
Bitte geben Sie die richtige E-Mail-Adresse und das richtige Passwort für ein Mitarbeiterkonto ein. Beachten Sie, dass in beiden Feldern möglicherweise die Groß-/Kleinschreibung beachtet wird.
VORHER konnte ich erfolgreich Superuser erstellen, mich bei /admin anmelden und grundlegendes CRUD durchführen.
Was könnte falsch sein:
  • Versionen sind zu alt? Zeit für ein Upgrade?
  • Datenbank/Daten sind beschädigt?
  • Etwas ist nicht synchron?
Wenn ich meine /users/models.py und/oder /users/managers.py posten soll, lassen Sie es mich einfach wissen

Top