zoukankan      html  css  js  c++  java
  • rest_framework的序列化

    from rest_framework import serializers
    from app01.models import *


    # source可以处理one2one/fk/choice字段
    class CourseModelSerializers(serializers.ModelSerializer):
    # 课程列表序列化 # choices选择中文显示
    level = serializers.CharField(source="get_level_display")

    class Meta:
    model = Course
    fields = ["title", "course_img", "level"]


    class CourseDetailModelSerializers(serializers.Serializer):
    # 课程详情序列化
    course = serializers.CharField(source="course.title")
    slogon = serializers.CharField()
    why = serializers.CharField()
    # SerializerMethodField处理多对多关系
    recommend_courses = serializers.SerializerMethodField()
    # depth = 1 显示深度关联(无限深一般(1-10层))

    def get_recommend(self, obj):
    temp = []
    for obj in obj.recommend_courses.all():
    temp.append(obj.title)
    return temp


    class ChapterModelSerializers(serializers.Serializer):
    # 章节序列化
    num = serializers.IntegerField()
    name = serializers.CharField()
    course = serializers.CharField(source="course.title")

  • 相关阅读:
    getopt 命令行参数解析
    Linux下使用indent整理代码
    终端常用快捷键
    gedit 乱码解决
    linux sysrq
    linux下的文件审计功能(audit inotify)
    gdb基本命令
    linux shell 字符截断
    linux 设置时间 date命令
    Ubuntu 时间同步
  • 原文地址:https://www.cnblogs.com/Guishuzhe/p/9709020.html
Copyright © 2011-2022 走看看