Django - UserManager (BaseUserManager) - Вопрос - Почему в терминал не печатается электронная почта и имя пользователя? - PullRequest
0 голосов
/ 08 ноября 2019

В файле 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.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...