Utiliser l'adresse email comme nom d'utilisateur

Exclusif Premium

Débloquez votre potentiel ! ✨

Cette session fait partie de notre programme Premium exclusif

+100h de formations exclusives
+180 exercices de code avancés
+100h de mentorats en réécriture
20 projets guidés pas à pas
Mentorats groupés hebdomadaires
Support individuel avec nos mentors

Prêt à passer au niveau supérieur ?

Découvrez tous les avantages Premium et transformez votre apprentissage dès aujourd'hui!

Inscris-toi

(c'est gratuit !)

Un compte est nécessaire pour participer aux discussions.

Créer un compte

Toutes les questions

Maryline

13 septembre 2023

Résolue
2 réponses

Erreur lors de l'utilisateur de l'email comme nom d'utilisateur

Bonjour, Lorsque j'utilise l'adresse email comme nom d'utilisateur et que je fais les migrations j'ai une erreur. ``` **accounts/models.py** class CustomUserManager(BaseUserManager): def create_user(self, email, password, **kwargs): if not email: raise ValueError("L'adresse mail est obligatoire") email = self.normalize_email(email) user = self.model(email=email) # model de la classe Shopper user.set_password(password) #encrypter le mot de passe user.save() return user def create_superuser(self, email, password, **kwargs): kwargs["is_staff"] = True kwargs["is_superuser"] = True kwargs["is_active"] = True return self.create_user(email=email, password=password, **kwargs) class Shopper(AbstractUser): username = None email = models.EmailField(max_length=255, unique=True) USERNAME_FIELD = "email" REQUIRED_FIELDS = [] objects = CustomUserManager() ``` ``` **shop/models.py** class Order(models.Model): user = models.ForeignKey(AUTH_USER_MODEL, on_delete=models.CASCADE) shop = models.ForeignKey(Shop, on_delete=models.CASCADE) quantity = models.IntegerField(default=1) ordered = models.BooleanField(default=False) ordered_date = models.DateTimeField(blank=True, null=True) ``` **Message d'erreur:** django.db.utils.IntegrityError: The row in table 'shop_order' with primary key '3' has an invalid foreign key: shop_order.user_id contains a value '8' t hat does not have a corresponding value in accounts_shopper.id. Si j'ai bien compris, la classe "user" hérite de la classe Shopper, donc je n'arrive pas à comprendre pourquoi le user_id ne correspond pas au shopper_id. Merci par avance pour votre aide. Maryline

Ce n'est pas fini...

Tu as complété % du parcours 🔥

Termine l'intégralité de la formation pour pouvoir débloquer ton attestation de réussite.

Rechercher sur le site

Inscris-toi à Docstring

Pour commencer ton apprentissage.

Tu as déjà un compte ? Connecte-toi.