В файле Django /django/contrib/auth/models.py
в классе class UserManager(BaseUserManager):
вставлены отпечатки, как показано ниже.
Теперь создаем новых пользователей - в терминале ничего не печатается. Мой вопрос - Почему электронная почта и имя пользователя не печатаются в терминале? Не используется ли метод _create_user
при создании нового пользователя?
class UserManager(BaseUserManager):
use_in_migrations = True
def _create_user(self, username, email, password, **extra_fields):
"""
Create and save a user with the given username, email, and password.
"""
print("--PlaceHolder----") # Doesnt Print in Terminal
if not username:
raise ValueError('The given username must be set')
email = self.normalize_email(email)
print(email) # Doesnt Print in Terminal
username = self.model.normalize_username(username)
print(username) # Doesnt Print in Terminal
Я понимаю, что класс class UserManager(BaseUserManager)
вызывается со строкой кода objects = UserManager()
внутри класса class AbstractUser(AbstractBaseUser, PermissionsMixin):
в том же файле.
Этот вопрос является продолжением моего предыдущего вопроса - Django - UserModel - Как создать настраиваемое текстовое поле в django / contrib / auth / forms.py
* РЕДАКТИРОВАТЬ -1- * Также - я понимаю, что метод create_user внутренне вызывает метод _create_user.