Size: a a a

Django [ru] #STAY HOME

2020 September 09

AK

Alex Kalinin in Django [ru] #STAY HOME
pavel
# USERNAME_FIELD = "email" ?
да
источник

p

pavel in Django [ru] #STAY HOME
чето не завелось с первого раза, разберемся
источник

DT

Dan Tyan in Django [ru] #STAY HOME
pavel
# USERNAME_FIELD = "email" ?
ага
источник

p

pavel in Django [ru] #STAY HOME
pavel
чето не завелось с первого раза, разберемся
а вспомнил пишет

account.User: (auth.E003) 'User.email' must be unique because it is named as the 'USERNAME_FIELD'.


причем если в модели переопределяю и делаю уникальным , не прокатывает, но щас опять попробую
источник

DT

Dan Tyan in Django [ru] #STAY HOME
это при миграции ?
источник

DT

Dan Tyan in Django [ru] #STAY HOME
проверь возможно в базе есть дублирующие записи
источник

p

pavel in Django [ru] #STAY HOME
сделал так

email = models.EmailField(_("email address"), blank=True, unique=True)
username = models.CharField(max_length=150, unique=False)


вроде прокатило, миграции щас накачу)
источник

AK

Alex Kalinin in Django [ru] #STAY HOME
pavel
сделал так

email = models.EmailField(_("email address"), blank=True, unique=True)
username = models.CharField(max_length=150, unique=False)


вроде прокатило, миграции щас накачу)
А почему blank=True?
источник

p

pavel in Django [ru] #STAY HOME
Alex Kalinin
А почему blank=True?
старый код, был закоменчен, явно он тут не нужен)
источник

p

pavel in Django [ru] #STAY HOME
пля щас пишет create_user() missing 1 required positional argument: 'username'

я создаю юзера так  в сериализаторе в def create(self, validated_data):
сам сериализатор serializers.Serializer
user = User.objects.create_user(
   # username=str(email.lower()),
   email=email.lower(),
   password=password,
   account_type=AccountTypeChoices.CLIENT,
)
# далее я шлю на мыло потвержения



я как то не так создаю юзера?
источник

AK

Alex Kalinin in Django [ru] #STAY HOME
pavel
пля щас пишет create_user() missing 1 required positional argument: 'username'

я создаю юзера так  в сериализаторе в def create(self, validated_data):
сам сериализатор serializers.Serializer
user = User.objects.create_user(
   # username=str(email.lower()),
   email=email.lower(),
   password=password,
   account_type=AccountTypeChoices.CLIENT,
)
# далее я шлю на мыло потвержения



я как то не так создаю юзера?
думаю тебе надо переопределить create_user
источник

p

pavel in Django [ru] #STAY HOME
так не хотелось, а если сделать serializers.ModelSerializer

то в каком месте мне слать на мыло письма?)
источник

p

pavel in Django [ru] #STAY HOME
в save() наверно можно, попробуем
источник

AK

Alex Kalinin in Django [ru] #STAY HOME
pavel
так не хотелось, а если сделать serializers.ModelSerializer

то в каком месте мне слать на мыло письма?)
Можешь тогда переопределить поле username  и убрать unique
источник

NC

Nikolay Cherniy in Django [ru] #STAY HOME
pavel
пля щас пишет create_user() missing 1 required positional argument: 'username'

я создаю юзера так  в сериализаторе в def create(self, validated_data):
сам сериализатор serializers.Serializer
user = User.objects.create_user(
   # username=str(email.lower()),
   email=email.lower(),
   password=password,
   account_type=AccountTypeChoices.CLIENT,
)
# далее я шлю на мыло потвержения



я как то не так создаю юзера?
у тебя там строчка с юзернейм закоментирована?
источник

p

pavel in Django [ru] #STAY HOME
Alex Kalinin
Можешь тогда переопределить поле username  и убрать unique
сделал уже и миграции накатил
источник

AK

Alex Kalinin in Django [ru] #STAY HOME
а при create_user просто делать username=''
источник

p

pavel in Django [ru] #STAY HOME
Nikolay Cherniy
у тебя там строчка с юзернейм закоментирована?
да, так как я только мыло и пароль принимаю
источник

p

pavel in Django [ru] #STAY HOME
если раскоментить то норм, но это костыль мне кажется
источник

NC

Nikolay Cherniy in Django [ru] #STAY HOME
pavel
если раскоментить то норм, но это костыль мне кажется
у тебя кастомный юзер?
источник