Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- from django.db import models
- from django.contrib.auth.models import AbstractBaseUser
- from django.contrib.auth.models import BaseUserManager
- class AccountManager(BaseUserManager):
- def create_user(self, username=None, password=None, **kwargs):
- account = self.model(username=username)
- account.set_password(password)
- account.is_stuff = False
- account.save()
- return account
- def create_superuser(self, username, password, **kwargs):
- account = self.create_user(username, password, **kwargs)
- account.is_admin = True
- account.is_staff = True
- account.save()
- return account
- class Account(AbstractBaseUser):
- username = models.CharField(max_length=40, unique=True)
- is_admin = models.BooleanField(default=False)
- created_at = models.DateTimeField(auto_now_add=True)
- updated_at = models.DateTimeField(auto_now=True)
- initialized = models.BooleanField(default=False)
- USERNAME_FIELD = 'username'
- objects = AccountManager()
- class GetUserList(ListAPIView):
- permission_classes = (permissions.IsAdminUser,)
- queryset = Account.objects.all()
- serializer_class = AccountSerializer
- class IsAdminUser(permissions.BasePermission):
- def has_permission(self, request, view):
- return request.user.is_admin
- class GetUserList(ListAPIView):
- permission_classes = (IsAdminUser,)
- queryset = Account.objects.all()
- serializer_class = AccountSerializer
- is_staff = models.BooleanField(_('staff status'),default=False)
Add Comment
Please, Sign In to add comment