Создайте пользователя без вызова метода create_user менеджера в Django

Из того, что я прочитал, метод create_usercreate_superuser) получает только необходимые параметры. Я пытаюсь создать пользователя с обязательными и необязательными параметрами, добавляя еще один аргумент в функцию create_user. manager - BaseUserManager.
У меня есть представление, в котором я притворяюсь, что создаю пользователя с обязательными и необязательными полями, должен ли я переопределить init?


person Sebastian Cattaneo    schedule 27.03.2015    source источник
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