Seit einigen Tagen habe ich mich gefragt, warum ich meinen eigenen User Manager in Django erstellen sollte, da ich am Ende, als ich ein integriertes Formular erbte, sowieso nicht auf meinen erstellten Manager verweise.
class CustomUserManager(BaseUserManager):
def create_user(self, email, birth_date, password=None, **extra_fields):
if not email:
raise ValueError("You didn't entered a valid email address!")
email = self.normalize_email(email)
user = self.model(email=email, **extra_fields)
user.set_password(password)
user.save(using=self._db)
return user
def create_superuser(self, email, password, **extra_fields):
extra_fields.setdefault('is_stuff', True)
extra_fields.setdefault('is_superuser', True)
return self.create_user(email, password, **extra_fields)
< /code>
Ich habe so etwas und am Ende, wenn es einen Benutzer erstellt, wird er sowieso nicht durch das create_user durchläuft. < /p>
Also meine beiden Fragen : < /p>
Warum etwas für einen benutzerdefinierten Benutzer erstellen, wenn ich es ohnehin nicht verwende, weil das Formular von UserCreationForm vererbt wird. So verwendet Form.Save () beispielsweise meinen Manager nicht. >
< /li>
< /ol>
Wann und wo ich create_user von createUserManager () verwende? ⇐ Python
-
- Similar Topics
- Replies
- Views
- Last post