У меня есть Django restful Framework с опцией входа в систему через Google, и она работает хорошо. Я должен переопределить, чтобы настроить имя пользователя DefaultAccountAdapter save_user
в моем промежуточном программном обеспечении. Я хочу, чтобы имя пользователя было таким, как Авраам, а не 001-Авраам
Это мой код в промежуточном программном обеспечении.
def save_user(self, request, sociallogin, form=None):
us = sociallogin.user
organization = Organization.objects.filter(Q(name__icontains=org_name)).last()
u = sociallogin.user
u.set_unusable_password()
if form:
self.custom_save_user(request, u, form, organization.code)
else:
self.populate_username(request, u, organization.code)
sociallogin.save(request)
return u
def populate_username(self, request, user, code=""):
from allauth.account.utils import user_username, user_email, user_field
first_name = user_field(user, 'first_name')
last_name = user_field(user, 'last_name')
email = user_email(user)
username = user_username(user)
if code:
username = str(code) + '-' + username
username = user_username(user, username or '')
if app_settings.USER_MODEL_USERNAME_FIELD:
user_username(
user,
username or get_account_adapter().generate_unique_username([
first_name,
last_name,
email,
username,
Спасибо большое за помощь!