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
app03/Views.py

在serlizers中添加

from rest_framework.serializers import ModelSerializer
from .models import *
class UserSer(ModelSerializer):
    class Meta:
        model = User
        fields = '__all__'
        # depth = 1  # 查询展示外键内容,后面的数字代表展示几层外键
app03/serlizers.py

在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))),  # 把上面写的路由注册进来
]
app03/urls.py

 

 

 

 

 

posted @ 2020-10-28 20:47  王彬。  阅读(245)  评论(0)    收藏  举报