Как я могу обновить таблицу customuser, когда пользователь создается с помощью django-allauth social login?
Я успешно интегрировал django-allauth google и facebook login, но у меня проблема с моей пользовательской моделью пользователя Я хочу обновить поле is_customer в True в моей модели пользователя.
вот моя модель пользователя
class UserManager(BaseUserManager):
def create_customer(self, email, phone=None, password=None, **extra_fields):
'''Creates and saves a new user'''
if not email:
raise ValueError('Users must have an email address')
user = self.model(email=self.normalize_email(email), **extra_fields)
user.phone = phone
user.set_password(password)
user.is_customer = True
user.save(using=self._db)
return user
class User(AbstractBaseUser, PermissionsMixin):
'''Custom user model that supports using email instead of username'''
phone = models.CharField(unique=True, max_length=15, null=True)
email = models.EmailField(max_length=255, unique=True)
fname = models.CharField(max_length=255, default='None')
lname = models.CharField(max_length=255, default='None')
is_customer = models.BooleanField(default=False)
is_active = models.BooleanField(default=True)
is_staff = models.BooleanField(default=False)
created_at = models.DateTimeField(auto_now_add=True)
updated_at = models.DateTimeField(auto_now=True)
objects = UserManager()
USERNAME_FIELD = 'email'
REQUIRED_FIELDS = ['phone']
вот как выглядит моя страница регистрации На моей странице регистрации есть facebook, google и обычная форма регистрации для пользователя, у которого нет аккаунта в обоих.
Я думаю, есть ли способ переопределить модель django-allauth socialaccount.
Однако я забыл упомянуть, что facebook и google процесс входа обрабатывается django-allauth формами, поэтому они не вызывают мой User.objects.create_customer() метод, есть ли способ вызвать этот метод, чтобы это стало легким для меня.
Если потребуется любой другой код, дайте мне знать