Files
pthelper/apps/myauth/api.py
2022-03-08 15:31:53 +08:00

41 lines
1.5 KiB
Python
Raw Permalink Blame History

This file contains ambiguous Unicode characters
This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.
# ~*~ coding: utf-8 ~*~
from rest_framework import viewsets, generics
from rest_framework import mixins
from .models import User
from .permissions import IsSuperUser,IsValidUser
from . import serializers
class UserListViewSet(viewsets.ModelViewSet):
#查询所有的数据
queryset = User.objects.all()
#序列化(表现层,将数据按照一定格式返回给用户)
serializer_class = serializers.UserSerializer
#可以通过id和name来筛选。
#API后面为?id=1就会抽选User id=1的用户。?name=sftang会抽选用户名是sftang的用户 (需要rest client不能直接浏览器访问)
filter_fields = ('id', 'name')
#使用mixin实现
# class UserApi(mixins.RetrieveModelMixin,
# mixins.UpdateModelMixin,
# mixins.DestroyModelMixin,
# generics.GenericAPIView):
# queryset = User.objects.all()
# serializer_class = serializers.UserSerializer
# permission_classes = (IsSuperUser,)
# def get(self, request, *args, **kwargs):
# return self.retrieve(request, *args, **kwargs)
# def put(self, request, *args, **kwargs):
# return self.update(request, *args, **kwargs)
# def delete(self, request, *args, **kwargs):
# return self.destroy(request, *args, **kwargs)
class UserApi(generics.RetrieveUpdateDestroyAPIView):
queryset = User.objects.all()
serializer_class = serializers.UserSerializer
permission_classes = (IsSuperUser,)