django序列化器
class CateModelSerializer(ModelSerializer):
    class Meta:
        model = Cate
        fields = '__all__'
class CateAPIView(APIView):
    def post(self, request):
        name = request.POST.get('name')
        # 添加到数据库后 返回的 这条记录的实例
        cate = Cate.objects.create(name=name)
        # 创建一个序列化器对象
        ser = CateModelSerializer(cate)
        # 获取序列化结果
        return Response(ser.data)
    def get(self, request):
        # queryset=Cate.objects.all() # all filter
        # 获取页码  0-3 3-6 6-9 (1-1)*3:1*3  (2-1)*3:2*3
        num = request.GET.get('num', 1)
        num = int(num)
        # 根据页码去分页查找 一页的数据
        queryset = Cate.objects.all()[(num - 1):(num * 3)]
        # [3:6] [6:9]
        print(queryset)
        # many的意思 是因为我们要序列化的对象是一个查询集 有多个元素
        ser = CateModelSerializer(queryset, many=True)
        # 把查询集合 序列化
        # 查询总共有多少条数据
        count = Cate.objects.count()
        # 计算出总页数  floor向下取整  ceil向上取整
        size = math.ceil(count / 3)
        resp = {
            'data': ser.data,
            'size': size
        }
        return Response(resp)
                    
                
                
            
        
浙公网安备 33010602011771号