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)
原文:https://www.cnblogs.com/doomqy/p/14699736.html