关于DF系列化字段的几点思考

关于DF系列化字段的几点思考

一、总概

  1. DRF序列化字段是核心,所以应该多花时间在这个代码上。前端用不到的字段不多写,能用到的也不能少写。

  2. 序列化属性中read_only, write_only是很重要的,要善于利用read_only只显示给前端,read_only就不用存储到数据库中,write_only是前端提供给后端存储到数据库中(注:只用提供存储的字段,多余的就不用提供)。

  3. source属性,当序列化字段与数据库字段不一致时才用,注:默认source的值与数据库字段名一致。

二、序列化字段的三种方式

  1. 一般序列化字段注,序列化字段与数据库字段名称一致时的操作特殊

  2. 特殊序列化字段

2.1 关连的序列化类:在数据库中有对应的字段,一般用ready_only

2.2 勾子函数的序列化:可以定义返回的值,一般用read_only。注:在函数中obj是对像,可以使用DOM操作。

三、勾子函数的序列化

python 复制代码
class 类名Serializers(serializers.ModelSerializer):
    
    字段名 = serializers.SerializerMethodField(method_name='自定义勾子函数名',read_only=True)

    class Meta:
        model= 数据库
        fields="__all__"
        
    @staticmethod #不能少
    def 自定义勾子函数名(obj):
        #obj是对象,可以用DOM操作
        return {'state':200} #只能返回JSON数据
相关推荐
yixin12314 小时前
【玩转全栈】----Django基本配置和介绍
数据库·django·sqlite
luoluoal19 小时前
基于python的医疗知识图谱问答系统(源码+文档)
python·mysql·django·毕业设计·源码
yueyin12345621 小时前
在Django中安装、配置、使用CKEditor5,并将CKEditor5录入的文章展现出来,实现一个简单博客网站的功能
数据库·django·sqlite
墨染青竹梦悠然2 天前
基于SpringBoot + vue的农产品销售系统(华夏鲜仓)
vue.js·spring boot·python·django·毕业设计·毕设
wanderful_2 天前
自定义用户体系下 Django 业务模块开发踩坑与通用解决方案(技术分享版)
后端·python·django
H Journey2 天前
Django 教程
数据库·django·sqlite
墨染青竹梦悠然2 天前
基于Django+vue的单词学习平台
前端·vue.js·后端·python·django·毕业设计·毕设
YJlio2 天前
1.7 通过 Sysinternals Live 在线运行工具:不下载也能用的“云端工具箱”
c语言·网络·python·数码相机·ios·django·iphone
YJlio3 天前
1.6 使用 Streams 工具移除下载文件的 ADS 信息:把“来自互联网”的小尾巴剪掉
c语言·网络·python·数码相机·ios·django·iphone
B站_计算机毕业设计之家3 天前
电影市场预测分析系统 | Python Django Echarts 票房可视化分析 大数据 人工智能 毕业设计源码(建议收藏)✅
大数据·数据库·python·机器学习·django·毕业设计·echarts