首页 > 其他分享 >drf系列-序列化

drf系列-序列化

时间:2022-12-22 10:14:39浏览次数:42  
标签:serializers length 项目名称 attrs 系列 model 序列化 drf

一 定义篇
目的: 用于获取需求models序列化的字段,字段必须在modles对应表内进行定义
定义方式:

#定义class类
class (model_name)+Serializer(serializers.ModelSerializer): 
#自定义强制规范策略
serializers.DateTimeField(format=date_fmt, required=False, default_timezone=timezone(settings.TIME_ZONE)) #序列化日期格式
name = serializers.CharField(label='项目名称', help_text='项目名称', max_length=20, min_length=5,
error_messages={
'min_length': '项目名称不能少于5位',
'max_length': '项目名称不能超过20位'
}, validators=[UniqueValidator(queryset=Projects.objects.all(), message='项目名称不能重复'),
is_contains_keyword])

#继承模型和字段
class Meta:
model = DeployAudit #继承model类型
fields = '__all__' #继承model所有字段
#添加复杂判断规则
def validate(self, attrs):
if 判断条件:
raise serializers.ValidationError({'error': '错误'}, code='error')
attrs['object_flow'] = flow_obj
return attrs
须知:
1 ModelSerializer在Meta中设置fields字段,系统会自动进行映射,省去每个字段再写一个field。
2 如果表单本身存在额外的输入对象,但是这个输入对象并不需要存入form里,就必须重载validate进行编写,比如输入验证码。
如果需要比较复杂的验证,也必须重载validate进行编写

标签:serializers,length,项目名称,attrs,系列,model,序列化,drf
From: https://www.cnblogs.com/danhuangpai/p/16997727.html

相关文章

  • GIS开源组件编译系列
    GIS开源组件编译系列(01)CentOS7环境中编译GDAL3.5 其编译的组件有sqlite、libiconv、protobuf、libdeflate、LZMA2、zstd、pcre2、tiff、openssl、curl、Proj、Geos、......
  • 微服务系列:分布式文件存储之 MinIO 入门指南
    经过前面多篇文章我们学习了服务网关、服务调用、服务注册、服务监控等微服务系列的的相关知识,今天开始我们来学习一下分布式文件的相关知识。首先我们从学习​​MinIO​​......
  • jquery Ajax serialize()表单序列化方式上传文件
    通过Ajaxserialize()表单进行序列化方式上传文件,使用FormData进行Ajax请求通过传统的form表单提交的方式上传文件:<formid="uploadForm"action=/cfJAX_RS/rest/file/upl......
  • #yyds干货盘点#【愚公系列】2022年12月 微信小程序-three.js绘制球体
    前言Three.js是一款运行在浏览器中的3D引擎,你可以用它创建各种三维场景,包括了摄影机、光影、材质等各种对象。一个典型的Three.js程序至少要包括渲染器(Renderer)、场......
  • 微服务系列:分布式事务 Spring Cloud Alibaba 之 Seata 实战篇
    ​​微服务系列:分布式事务SpringCloudAlibaba之Seata入门篇​​在上一篇入门篇中,我们已经对​​Seata​​​有了大致的了解,并搭建好了​​seata-server​​​服务......
  • 反射和对象序列化浅谈
    反射c++本身是没有反射机制的。反射是什么?我认为是运行时对象信息库,反射就是在需要获取对象信息的时候使用,在做类型转换的时候使用,获取对象实例的时候使用...统一一下就是......
  • [期刊论文写作] 系列(3) 数据与方法的写作章法
    关键词:论文写作数据方法章法作者:ludwig1860日期:Dec20-21,2022数据和方法部分的写作自由度是比较大的,毕竟每个研究的方法往往是不一样的。但是,所有论文写作所遵循......
  • drf框架时间处理问题
    问题:时间显示多个T和毫秒等,不是中国人常用的时间格式解决方法:第一种:全局配置在settings.py的REST_FRAMEWORK下配置(全局生效)REST_FRAMEWORK={#时间格式配置......
  • 《SpringCloud系列教程》目录大纲
    《SpringCloud系列教程》目录大纲:SpringCloud系列教程分为三个部分:1)SpringCloudNetflix系列2)SpringCloudAlibaba系列3)SpringCloud原生组件系列Tips:记得点赞呐~前言编写资料......
  • 云原生安全系列3:5个 Kubernetes API 网络安全访问最佳实践
    Kubernetes中的API访问控制会经历三个步骤。首先,对请求进行身份验证,然后检查请求的有效授权,然后执行请求准入控制,最后授予访问权限。但在身份验证过程开始之前,确保正确配......