当前位置: 首页 > news >正文

快速入手-基于Django-rest-framework的ModelSerializer模型序列化器(三)

1、基础代码

快速入手-基于Django-rest-framework的serializers序列化器(二)-CSDN博客

2、基于第一步的代码改成模型序列化 

3、只需要修改serializer.py文件即可

from django.shortcuts import render, HttpResponse
from rest_framework.views import APIView

from .models import Link

from rest_framework import serializers


class LinkSerializerBak(serializers.Serializer):
    # 对外展示或操作的字段,或者转换后的字段(比如name对外展示为mingzi)
    id = serializers.CharField(max_length=300)
    mingzi = serializers.CharField(max_length=300, source="name")
    link = serializers.CharField(max_length=100)
    sorting = serializers.IntegerField(default=100)

    # 新增保存数据过程
    def create(self, validated_data):
        new_link = Link.objects.create(**self.validated_data)
        return new_link

    # 更新保存数据过程
    def update(self, instance, validated_data):
        Link.objects.filter(pk=instance.id).update(**validated_data)
        gengxin = Link.objects.get(pk=instance.pk)
        return gengxin

################模型序列化###########################
# 和模型直接耦合,确定不灵活,上面的是自己写
class LinkSerializer(serializers.ModelSerializer):
    # 自定义接口字段名称source="name"是真实的,mingzi是解耦的名称
    mingzi = serializers.CharField(max_length=300, source="name")

    class Meta:
        # 指定关联哪个模型集
        model = Link
        # fields = "__all__"
        # 排除去掉哪些字段
        exclude = ["gid", "name"]

4、其他配置、视图等都不需要修改

5、测试方法参考第二节的测试即可。 

相关文章:

  • 基于模糊PID算法的智能洗衣机控制器设计,实现洗衣过程智能化,能够监测衣物重量和污泥,实现洗涤时间、洗衣液投放的智能控制
  • 解析 ID 数组传参的解决方案:基于 Axios 的实现
  • leetcode40-组合总和II
  • Linux下的socket演示程序3(udp)
  • C++调用Openssl 报OPENSSL_Uplink(503EE220,08): no OPENSSL_Applink
  • CentOS 8 Stream 配置在线yum源参考 —— 筑梦之路
  • 力扣DAY30 | 热100 | 两两交换链表中的节点
  • LeetCode hot 100 每日一题(17)——160.相交链表
  • 算法--动态规划
  • 给聊天机器人装“短期记忆“:Flask版实现指南
  • Dubbo(18)Dubbo的SPI机制是什么?
  • Rocky linux部署DNS服务
  • GPU服务器集群网络规划方案
  • 阿里云数据学习20250327
  • 面试八股文--框架篇(SSM)
  • Nginx RTMP MP4 模块分析
  • 【9】Strongswan collections —— enumerator
  • C# 操作html下的css样式
  • 数制——FPGA
  • 【2025】基于springboot+vue的自习室管理系统的设计与实现(源码、万字文档、图文修改、调试答疑)
  • 无锡网站公司电话/官方百度app下载
  • 网站建设年费/韩国日本比分
  • 长安公司网站设计/足球直播在线直播观看免费cctv5
  • c 做网站的六大对象/杭州seo网络推广
  • 外包公司做网站价格/网站seo的优化怎么做
  • b2b免费发布网站大全排名/最近爆发什么病毒感染