Skip to content

Instantly share code, notes, and snippets.

@chapimenge3
Last active October 25, 2021 20:04
Show Gist options
  • Save chapimenge3/cdbe7746db78e29c33ff004b0a3fba5a to your computer and use it in GitHub Desktop.
Save chapimenge3/cdbe7746db78e29c33ff004b0a3fba5a to your computer and use it in GitHub Desktop.
from django.shortcuts import render, get_object_or_404
from django.contrib.auth import get_user_model
# 3rd party imports
from rest_framework import viewsets, permissions, response, status
from rest_framework.authtoken.models import Token
from rest_framework.views import APIView
# My app imports
from accounts.serializers import UserSerializer
# User Viewset for create, update, delete, retrieve
class UserViewSet(viewsets.ModelViewSet):
serializer_class = UserSerializer
def get_queryset(self):
if self.request.user.is_superuser:
return get_user_model().objects.all()
else:
return get_user_model().objects.filter(id=self.request.user.id)
def get_object(self):
obj = get_object_or_404(self.get_queryset(), pk=self.kwargs["pk"])
self.check_object_permissions(self.request, obj)
return obj
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment