mirror of
https://github.com/xingsu1021/pthelper.git
synced 2026-02-07 12:23:30 +08:00
41 lines
1.5 KiB
Python
41 lines
1.5 KiB
Python
# ~*~ 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,)
|