关于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数据
相关推荐
云和数据.ChenGuang9 分钟前
数据分析中的dataframe详解
python·数据挖掘·数据分析·django·pygame
Betelgeuse7619 小时前
DjangoBlog学习案例:掌握Django MVT架构与多应用协作实践
学习·架构·django
IT 行者20 小时前
Claude Code Viewer: 打造 Web 端 Claude Code 会话管理利器
前端·人工智能·python·django
龙腾AI白云1 天前
数字孪生在航空领域的应用方法及案例
学习·django·virtualenv·pygame
q_35488851531 天前
计算机毕业设计源码:锦江酒店大数据分析与个性化推荐系统 Django框架 Vue 可视化 Hadoop 爬虫 协同过滤推荐算法 民宿 客栈(建议收藏)✅
python·机器学习·信息可视化·数据分析·django·课程设计·旅游
tryCbest1 天前
Django 基础入门教程(第四篇):Form组件、Auth认证、Cookie/Session与中间件
python·django
PD我是你的真爱粉1 天前
Django MVT vs FastAPI DDD架构
架构·django·fastapi
龙腾AI白云2 天前
数据可视化实战:用AI工具制作专业数据分析图表
深度学习·数据分析·django
程序媛徐师姐2 天前
Python基于Django的网络漏洞扫描工具的开发与优化【附源码、文档说明】
python·django·漏洞扫描工具·漏洞扫描·网络漏洞扫描工具·python网络漏洞扫描工具·pytho网络漏洞扫描
PD我是你的真爱粉2 天前
Django的MTV架构
python·架构·django