Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- class UserRoleManager(UserManager):
- def __init__(self, role: UserRole, *args, **kwargs):
- self.USER_ROLE = role
- if not self.USER_ROLE:
- raise UserManagerError('USER_ROLE must be set.')
- super().__init__(*args, **kwargs)
- def get_queryset(self):
- return super().get_queryset().filter(role=self.USER_ROLE.name)
- def create(self, *args, **kwargs):
- kwargs.update({'role': self.USER_ROLE})
- super().create(*args, **kwargs)
- class AdminManager(UserRoleManager):
- def __init__(self):
- super().__init__(role=UserRole.ADMIN)
- class MechanicManager(UserRoleManager):
- def __init__(self):
- super().__init__(role=UserRole.MECHANIC)
- class ManagerManager(UserRoleManager):
- def __init__(self):
- super().__init__(role=UserRole.MANAGER)
- class ClientManager(UserRoleManager):
- def __init__(self):
- super().__init__(role=UserRole.CLIENT)
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement