Внедрение пользовательских ролей в моем приложении электронной коммерции на основе Django

Я закончил работу над своим веб-приложением Django для электронной коммерции. И теперь я хочу добавить возможность работы с ролями клиентов (admin, staff, merchant, customer). У меня возникли проблемы с настройкой этого в моем проекте. Буду очень признателен, если кто-то сможет помочь мне в этом процессе. Я делюсь деталями проекта.

Моя существующая модель клиента

class Customer(models.Model):
    user=models.OneToOneField(User,on_delete=models.CASCADE)
    # user=models.OneToOneField(User,on_delete=models.CASCADE) -change I made to add CustomUser model
    phone=models.CharField(max_length=10)
    city = models.TextField(max_length=30)
    state = models.TextField(max_length=30)

    def __str__(self):
        return self.user.username

Моя модель CustomerUser, которую я хочу внедрить в свой проект

class CustomUser(AbstractUser):
    ROLES=(
        ('admin', 'Admin'),
        ('staff', 'Staff'),
        ('merchant', 'Merchant'),
        ('user', 'User'),
    )
    role = models.CharField(max_length=8,choices=ROLES,default='Customer')

    def is_admin(self):
        return self.role == 'admin'

    def is_staff(self):
        return self.role == 'staff'

    def is_merchant(self):
        return self.role == 'merchant'

Вход, выход и регистрация перестали работать, как только я добавил эту модель CustomUser в свой проект.

Вернуться на верх