关于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数据
相关推荐
troy1284 小时前
分布式系统框架选型指南:主流框架优缺点深度对比
python·django·pygame
IT毕设实战小研12 小时前
基于大数据的跨国外派人员适应满意度与留存影响因素可视化分析
android·java·大数据·python·django·课程设计
烂蜻蜓1 天前
Django入门教程(三):django-admin与manage.py命令完全指南
数据库·django·sqlite
2601_962283882 天前
Django数据库配置(一)
mysql·postgresql·django·sqlite·数据库配置
qq_22589174664 天前
基于Python+Django的LangGraph智能旅游规划系统
python·django·旅游
小刘在重生~5 天前
Django|Excel 批量上传、Form/ModelForm 文件上传、Media 媒体文件配置
python·django·excel
小刘在重生~5 天前
Django|Ajax 入门、JSON 返回、ECharts 图表、文件上传完整笔记
ajax·django·json
2601_962283885 天前
Python 开发框架:Django、Flask和FastAPI
python·django·flask·fastapi·web开发
小刘在重生~6 天前
Django 全套入门笔记|安装、项目创建、ORM、Form、中间件、登录认证
笔记·中间件·django
大模型丫丫7 天前
工业级 RAG 为什么需要 Elasticsearch?
elasticsearch·django·jenkins