9.2.动态设置serializer和permission获取用户信息
apps/users/views.py
from rest_framework.mixins import CreateModelMixin, RetrieveModelMixin
from rest_framework import viewsets
from rest_framework import permissions
from users.serializers import UserRegSerializer, UserDetailSerializer
class UserViewSet(CreateModelMixin, RetrieveModelMixin, viewsets.GenericViewSet):
# 动态设置permission
def get_permissions(self):
if self.action == "create":
return []
elif self.action == "retrieve":
return [permissions.IsAuthenticated()]
return []
# 动态设置serializer
def get_serializer_class(self):
if self.action == "create":
return UserRegSerializer
elif self.action == "retrieve":
return UserDetailSerializer
return UserDetailSerializer
# 返回当前用户信息
def get_object(self):
return self.request.userapps/users/serializers.py
Last updated
Was this helpful?