当前位置: 首页 > news >正文

iphone做网站服务器基于网站的app开发

iphone做网站服务器,基于网站的app开发,拼多多网站建设,wordpress中文分享插件1.3.3 模型类序列化器 如果我们想要使用序列化器对应的是Django的模型类#xff0c;DRF为我们提供了ModelSerializer模型类序列化器来帮助我们快速创建一个Serializer类。 ModelSerializer与常规的Serializer相同#xff0c;但提供了#xff1a; 基于模型类自动生成一系列…1.3.3 模型类序列化器 如果我们想要使用序列化器对应的是Django的模型类DRF为我们提供了ModelSerializer模型类序列化器来帮助我们快速创建一个Serializer类。 ModelSerializer与常规的Serializer相同但提供了 基于模型类自动生成一系列字段基于模型类自动为Serializer生成validators比如unique_together包含默认的create()和update()的实现 1.3.3.1 定义 比如我们创建一个BookInfoSerializer class BookInfoSerializer(serializers.ModelSerializer):图书数据序列化器class Meta:model BookInfofields __all__model 指明参照哪个模型类fields 指明为模型类的哪些字段生成 我们可以在python manage.py shell中查看自动生成的BookInfoSerializer的具体实现 from booktest.serializers import BookInfoSerializerserializer BookInfoSerializer()serializer BookInfoSerializer():id IntegerField(labelID, read_onlyTrue)btitle CharField(label名称, max_length20)bpub_date DateField(allow_nullTrue, label发布日期, requiredFalse)bread IntegerField(label阅读量, max_value2147483647, min_value-2147483648, requiredFalse)bcomment IntegerField(label评论量, max_value2147483647, min_value-2147483648, requiredFalse)image ImageField(allow_nullTrue, label图片, max_length100, requiredFalse)1.3.3.2 指定字段 \1) 使用fields来明确字段__all__表名包含所有字段也可以写明具体哪些字段如 class BookInfoSerializer(serializers.ModelSerializer):图书数据序列化器class Meta:model BookInfofields (id, btitle, bpub_date)\2) 使用exclude可以明确排除掉哪些字段 class BookInfoSerializer(serializers.ModelSerializer):图书数据序列化器class Meta:model BookInfoexclude (image,)\3) 显示指明字段如 class HeroInfoSerializer(serializers.ModelSerializer):hbook BookInfoSerializer()class Meta:model HeroInfofields (id, hname, hgender, hcomment, hbook)\4) 指明只读字段 可以通过read_only_fields指明只读字段即仅用于序列化输出的字段 class BookInfoSerializer(serializers.ModelSerializer):图书数据序列化器class Meta:model BookInfofields (id, btitle, bpub_date bread, bcomment)read_only_fields (id, bread, bcomment)1.3.3.3 添加额外参数选项 我们可以使用extra_kwargs参数为ModelSerializer添加或修改原有的选项参数 class BookInfoSerializer(serializers.ModelSerializer):图书数据序列化器class Meta:model BookInfofields (id, btitle, bpub_date, bread, bcomment)extra_kwargs {bread: {min_value: 0, required: True},bcomment: {min_value: 0, required: True},}# BookInfoSerializer(): # id IntegerField(labelID, read_onlyTrue) # btitle CharField(label名称, max_length20) # bpub_date DateField(allow_nullTrue, label发布日期, requiredFalse) # bread IntegerField(label阅读量, max_value2147483647, min_value0, requiredTrue) # bcomment IntegerField(label评论量, max_value2147483647, min_value0, requiredTrue)1.4 局部全局校验源码分析 #is_valid----self.run_validation-(执行Serializer的run_validation)--self.to_internal_value(data)---执行Serializer的run_validation485行1.5 序列化组件源码分析 序列化组件先调用__new__方法如果manyTrue生成ListSerializer对象如果为False生成Serializer对象 序列化对象.data方法--调用父类data方法---调用对象自己的to_representation自定义的序列化类无此方法去父类找 Aerializer类里有to_representation方法for循环执行attribute field.get_attribute(instance) 再去Field类里去找get_attribute方法self.source_attrs就是被切分的source然后执行get_attribute方法source_attrs 当参数传过去判断是方法就加括号执行是属性就把值取出来
http://www.dnsts.com.cn/news/171443.html

相关文章:

  • 网站关键词突然搜不到wordpress彩色字体
  • 网站框架设计好后怎么做河南公司网站建设
  • 江苏做网站公司排名外贸商城网站开发书
  • opkg 做网站的包叫什么名字网页qq空间登陆在线登录入口
  • 网站建设dw站点建设产品vi设计哪家好
  • 网站seo提升爱心捐赠网站怎么做
  • 关于网站建设的策划案网站开发一般做几个适配
  • 哈尔滨优化网站排名优秀甜品网站
  • 两人合伙做网站但不准备开公司网站建设 精品课程
  • 做展示网站wordpress这么写一个api
  • 十大软件免费下载网站排行榜网站空间为什么都比数据库大
  • 唐山手机网站建设wordpress 设置导航栏
  • 个人网站的设计与实现结论触屏版网站设计
  • lol做直播网站网站设计的主要内容
  • 找深圳网站建设logo设计免费平台
  • 金溪做网站西安做北郊做网站
  • 做企业网站的字体大小要求微信分销网站建设
  • 做租人网站犯法吗祖传做网站
  • 深圳网站设计与制作公司紧急大通知请记住新域名
  • 搭建一个商城类网站做网站海口
  • 免费建站建站南海最新军事新闻
  • as3 xml 网站模板 下载怎么架设一个网站
  • 国外网站搭建平台北京工商注册登记网官网
  • 企业网站尺寸手绘动画制作软件
  • 西安城市建设职业学院官方网站360浏览器最新版本下载安装
  • 找做网站公司如需锦州网站建设
  • 免费推广途径有哪些国外网站seo免费
  • 保健品网站模板营销型网站建设需要懂什么
  • 网站运营经验分享ppt虚拟主机是啥
  • 商城网站前期准备两个wordpress共用一个数据库