Из того, что я прочитал, метод create_user
(и create_superuser
) получает только необходимые параметры. Я пытаюсь создать пользователя с обязательными и необязательными параметрами, добавляя еще один аргумент в функцию create_user. manager - BaseUserManager
.
У меня есть представление, в котором я притворяюсь, что создаю пользователя с обязательными и необязательными полями, должен ли я переопределить init?
Создайте пользователя без вызова метода create_user менеджера в Django
comment
cf Django docs: Аргументы ключевого слова extra_fields передаются в метод init пользователя, чтобы разрешить установку произвольных полей в пользовательской модели пользователя => это должно работать, в чем ошибка?
- person Raphaël Braud   schedule 27.03.2015
Ответы (1)
Функция create_user
— это просто ярлык. Вы должны создать экземпляр пользователя с user = MyUser(field1=arg1, field2=arg2)
, не забудьте использовать функцию set_password
для пароля и вызвать user.save()
.
Существует также общий метод create
, который принимает все поля, доступные в вашей пользовательской модели, но я не знаю, правильно ли он обрабатывает пароли.
person
knbk
schedule
27.03.2015