DRF的ModelSerializer的使用
在views中添加
from django.shortcuts import render # Create your views here. from rest_framework.views import APIView from rest_framework.response import Response from app03.models import User from .serializers import * from rest_framework.viewsets import ModelViewSet class UserView(APIView): def get(self, request): user_obj = User.objects.all() ser = UserSer(user_obj, many=True) return Response(ser.data) from rest_framework.viewsets import ModelViewSet from django_filters.rest_framework import DjangoFilterBackend from rest_framework.filters import OrderingFilter # 排序导包 from rest_framework.pagination import PageNumberPagination class PaginotorView(PageNumberPagination): page_size_query_param = 'page_num' max_page_size = 3 class UserModelView(ModelViewSet): # 继承ModelVIewSet queryset = User.objects.all() # 查询集 serializer_class = UserSer # 序列化器 pagination_class = PaginotorView # 分页 filter_fields = ['name', 'age','home'] # 设置要查寻的字段 filter_backends = [OrderingFilter,DjangoFilterBackend] ordering_fields = ['age'] # 查询格式: &ordering=age
在serlizers中添加
from rest_framework.serializers import ModelSerializer from .models import * class UserSer(ModelSerializer): class Meta: model = User fields = '__all__' # depth = 1 # 查询展示外键内容,后面的数字代表展示几层外键
在urls.py中添加
# -*- coding: utf-8 -*- from django.urls import path,include from .views import * from rest_framework.routers import DefaultRouter # 导包 router = DefaultRouter() # 实例化 router.register('user02',UserModelView) # 注册 urlpatterns = [ path('user/',UserView.as_view()), path('',include((router.urls))), # 把上面写的路由注册进来 ]




浙公网安备 33010602011771号