关于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数据
相关推荐
哈里谢顿2 小时前
验证 list() 会调用 `__len__` 方法的深度解析
python·django
luoluoal7 小时前
基于python的语音和背景音乐分离算法及系统(源码+文档)
python·mysql·django·毕业设计·源码
luoluoal9 小时前
基于python的英汉电子词典软件(源码+文档)
python·mysql·django·毕业设计·源码
luoluoal15 小时前
基于python的旅游景点方面级别情感分析语料库与模型(源码+文档)
python·mysql·django·毕业设计·源码
YJlio16 小时前
Sysinternals 学习笔记(15.0):系统信息工具总览——RAMMap、RU、CoreInfo 等一网打尽
开发语言·笔记·python·学习·django·pdf·硬件架构
天天进步201516 小时前
Python全栈项目--基于Django的项目管理系统
开发语言·python·django
DREAM.ZL17 小时前
基于Django的旅游推荐系统
python·django·旅游
luoluoal1 天前
基于python的某在线中药店销售数据统计与分析系统(源码+文档)
python·mysql·django·毕业设计·源码
B站计算机毕业设计之家2 天前
AI大模型:基于大数据动漫数据分析可视化系统 漫画 番剧 知音漫客 Django框架 requests爬虫 大数据毕业设计(建议收藏)✅
大数据·人工智能·爬虫·python·数据分析·django·动漫
YJlio2 天前
PsPing 学习笔记(14.10):常见错误与排错思路——从“不可达”到“端口拒绝”
开发语言·笔记·python·学习·django·pdf·pygame