Gestionnaires (Managers)

Ce module contient les gestionnaires personnalisés pour la gestion des utilisateurs.

class users.managers.UserManager(*args, **kwargs)

Bases : BaseUserManager

Gestionnaire personnalisé pour le modèle User.

Fournit des méthodes pour créer des utilisateurs avec différents rôles en utilisant l’email comme identifiant unique au lieu du username.

Notes importantes :

  • Tous les utilisateurs sont identifiés par leur adresse email plutôt que par un nom d’utilisateur

  • L’email est normalisé automatiquement lors de la création

  • Les rôles sont définis via le champ role du modèle User

  • Les superutilisateurs ont automatiquement les permissions is_staff et is_superuser activées

create_user(email, password=None, **extra_fields)

Crée et sauvegarde un utilisateur avec l’email et le mot de passe donnés.

Paramètres:
  • email (str) – L’adresse email de l’utilisateur

  • password (str, optional) – Le mot de passe de l’utilisateur

  • **extra_fields – Champs supplémentaires pour l’utilisateur

Renvoie:

L’utilisateur créé

Type renvoyé:

User

Lève:

ValueError – Si l’email n’est pas fourni

create_admin(email, password=None, **extra_fields)

Crée un utilisateur avec le rôle admin.

Paramètres:
  • email (str) – L’adresse email de l’administrateur

  • password (str, optional) – Le mot de passe de l’administrateur

  • **extra_fields – Champs supplémentaires pour l’utilisateur

Renvoie:

L’administrateur créé

Type renvoyé:

User

Lève:

ValueError – Si l’email n’est pas fourni

create_superuser(email, password=None, **extra_fields)

Crée un superutilisateur avec tous les privilèges.

Paramètres:
  • email (str) – L’adresse email du superutilisateur

  • password (str, optional) – Le mot de passe du superutilisateur

  • **extra_fields – Champs supplémentaires pour l’utilisateur

Renvoie:

Le superutilisateur créé

Type renvoyé:

User