Rest_framework.request.WrappedAttributeError: объект 'AccountManager' не имеет атрибута 'get'
Я работаю над своим проектом Django, я получаю эту ошибку, но я не знаю, как именно ее исправить, я создал свою пользовательскую модель пользователя и менеджер пользователей
class AccountManager(BaseManager):
def create_user(self, email, fullname=None, birthday=None,zipcode=None, password=None):
if not email:
raise ValueError('Users must have an email address')
user = self.model(Email_Address=self.normalize_email(email),
name=self.normalize_email(email),
Date_of_Birth=birthday,
zipcode=zipcode
)
user.set_password(password)
user.save(using='self._db')
return user
def create_superuser(self, Email_Address, username, password):
user=self.create_user(Email_Address=self.normalize_email(Email_Address), password=password,)
user.is_admin = True
user.is_active = True
user.is_staff = True
user.is_superuser = True
user.save(using='self._db')
class User(AbstractUser):
Email_Address = models.EmailField(verbose_name='email', unique=True, blank=True, null=True)
Date_of_Birth = models.CharField(max_length=30, blank=True, null=True, default=None)
name = models.CharField(max_length=30, blank=True, null=True)
username= models.CharField(max_length=30,unique=True, blank=True, null=True)
zipcode = models.CharField(max_length=30, blank=True, null=True)
is_admin = models.BooleanField(default=False)
is_active = models.BooleanField(default=True)
is_staff = models.BooleanField(default=False)
is_superuser = models.BooleanField(default=False)
USERNAME_FIELD = 'Email_Address'
objects = AccountManager()
REQUIRED_FIELDS = ['username']
def __str__(self):
return self.username
Поскольку я использую rest_framework_simplejwt для аутентификации, я получаю эту ошибку, когда пытаюсь войти
user = self.user_model.objects.get(**{api_settings.USER_ID_FIELD: user_id})
rest_framework.request.WrappedAttributeError: 'AccountManager' object has no attribute 'get'
может ли кто-нибудь помочь мне с этим
В соответствии с этим разделом, https://docs.djangoproject.com/en/4.0/topics/auth/customizing/#writing-a-manager-for-a-custom-user-model, вам необходимо расширить ваш пользовательский менеджер пользователей с BaseUserManager.
В своем коде вы расширили от BaseManager.