zoukankan      html  css  js  c++  java
  • DRF序列化

    1. 安装

    pip install djangoframework

    2. app注册 rest_framework

    INSTALLED_APPS = [
        'django.contrib.admin',
        'django.contrib.auth',
        'django.contrib.contenttypes',
        'django.contrib.sessions',
        'django.contrib.messages',
        'django.contrib.staticfiles',
        'app.apps.AppConfig',
        'rest_framework'
    ]

    3. 自定义序列化程序,创建一个serializers序列器

    serializer.CharField(source='orm操作')

    from rest_framework import serializers
    
    class PublisherS(serializers.Serializer):
        id = serializers.IntegerField()
        title = serializers.CharField(max_length=32)
    
    class AuthorS(serializers.Serializer):
        id = serializers.IntegerField()
        name = serializers.CharField(max_length=32)
    
    class BookS(serializers.Serializer):
        id = serializers.IntegerField()
        title = serializers.CharField(max_length=32)
        pub_time = serializers.DateField()
        category = serializers.IntegerField(source='get_category_display')
    
        publisher = PublisherS()
        authors = AuthorS(many=True)


    4. views 中导入

    from rest_framework.views import APIView
    from rest_framework.response import Response
    from app.models import Book
    from .serializer import BookS
    
    class BookView(APIView):
        def get(self,request):
            book_queryset = Book.objects.all()
            #用序列器序列化出一个对象
            ser_obj = BookS(book_queryset,many=True)
            return Response(ser_obj.data)
    
        def post(self,request):
            ...
  • 相关阅读:
    杭电1212--Big Number
    杭电1407--Integer Inquiry
    杭电1201--18岁生日
    刚刚创建了这个分组, 也想说叨说叨 。
    南阳325--zb的生日
    杭电1239--Calling Extraterrestrial Intelligence Again
    南阳891--找点(区间覆盖)
    杭电1234--开门人和关门人
    杭电1862--EXCEL排序
    模拟:HDU1034-Candy Sharing Game
  • 原文地址:https://www.cnblogs.com/niuli1987/p/9960411.html
Copyright © 2011-2022 走看看