Loading [MathJax]/jax/output/CommonHTML/config.js
前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
社区首页 >专栏 >Django Rest Framework 序列化(中)

Django Rest Framework 序列化(中)

作者头像
小团子
发布于 2019-07-18 03:41:14
发布于 2019-07-18 03:41:14
1.1K00
代码可运行
举报
文章被收录于专栏:数据云团数据云团
运行总次数:0
代码可运行

Django Rest Framework 序列化(上)

一、进一步使用 Serializer

路由

② 视图

③ 使用 serializer

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
# choices 字段显示
user_type = serializers.CharField(source="get_user_type_display")
# 自定义 serializer 中的 key 值
pwd = serializers.CharField(source="password")
# 关联对象属性
group_title = serializers.CharField(source="group.title")
# 多对多关系
roles = serializers.CharField(source="roles.all")
# 表示自定义方法,显示 queryset 对象详情
roles_info = serializers.SerializerMethodField()
  • 如果没有指定在 Field 中没有定义 source 参数的时候,就自动与数据库 models 定义的字段进行匹配,如上面的 username 字段。在定义字段后,Serializer 类中可以自定义属性,如 type。
  • 当 models 中是以 choice 定义时:需要定义 source 参数,定义 get_字段名_display 才能获取数据,这与在模板语言中的用法一样,如上面的 user_type。
  • 外键关联的时候,直接 外键字段名.属性 的方式定义传参给 source 参数即可,如上面的 group.title。
  • 对于 roles 字段,想直接获取所有的对象,但是无法做到细粒度的将对象的所有属性展示出来,只能获取到 QuerySet 对象。
  • 自定义字段,处理数据,如 roles_info 获取所有的 role 对象的属性,处理数据可以定义方法,方法名格式为 get_属性,并 return 最终返回值。
本文参与 腾讯云自媒体同步曝光计划,分享自微信公众号。
原始发表:2019-03-02,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 数据云团 微信公众号,前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体同步曝光计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
暂无评论
推荐阅读
编辑精选文章
换一批
​从入门到"精通"Django REST Framework-(三)
ModelSerializer 是 Django REST Framework(DRF)提供的一个序列化器,它用于简化与 Django 模型的交互。ModelSerializer 通过自动读取 Django 模型的字段,生成对应的序列化字段,从而简化了手动编写字段的工作。它继承自 serializers.Serializer,但不同的是,它专门用于处理与 Django ORM 模型的数据交互。
rxg456
2025/02/26
1000
​从入门到"精通"Django REST Framework-(三)
Django rest framework(7)----分页
第一种分页  PageNumberPagination 基本使用 (1)urls.py urlpatterns = [ re_path('(?P<version>[v1|v2]+)/page1
zhang_derek
2018/04/11
1.8K0
Django rest framework(7)----分页
Django rest framework(6)----序列化
序列化 1.继承Serializer 基本使用  (1)models.py from django.db import models class UserInfo(models.Model): USER_TYPE = ( (1,'普通用户'), (2,'VIP'), (3,'SVIP') ) user_type = models.IntegerField(choices=USER_TYPE) username = mode
zhang_derek
2018/04/11
9070
Django rest framework(6)----序列化
rest_framework序列化与反序列化1
自定义序列化的过程,对数据的单查与群查,序列化的过程:ORM操作得到数据,然后将数据序列化成前台可以使用的数据返回给前台。
GH
2019/12/30
9370
day91-day92-DjangoRestFrameWork序列化&反序列化的使用
2.2.1 from rest_framework import serializers
少年包青菜
2020/03/02
1K0
python测试开发django-rest-framework-91.ChoiceField选项字段校验
在 model 模型里面有个字段是选项字段, goods_status 可以有2种状态,0是下架,1是出售中,默认
上海-悠悠
2021/02/03
1.4K0
python测试开发django-rest-framework-91.ChoiceField选项字段校验
python测试开发django-rest-framework-88.反序列化
serializers.Serializer可以对modle模型中的字段序列化,并且必须写create和update两个方法。ModelSerializer可以看成是Serializer的一个升级版,功能更强大,更方便。 实际上ModelSerializer类继承了Serializer类
上海-悠悠
2021/02/03
6690
python测试开发django-rest-framework-88.反序列化
django rest framework serializers解读
serializers.fieild 我们知道在django中,form也有许多field,那serializers其实也是drf中发挥着这样的功能。我们先简单了解常用的几个field。 常用的field   CharField、BooleanField、IntegerField、DateTimeField这几个用得比较多,我们把外键的field放到后面去说!
程序员同行者
2018/12/12
1.8K0
python测试开发django-rest-framework-94.嵌套对象
前面一篇在查询我的收藏的时候,只显示了商品的id和收藏状态,并没有显示商品的详情。如果我们想查询的结果显示商品的详情,需关联到商品表。
上海-悠悠
2021/02/03
7460
python测试开发django-rest-framework-94.嵌套对象
django-rest-framework框架学习
现在新一代web应用都开始采用前后端分离的方式来进行,淘汰了以前的服务器端渲染的方式。前后端分离方式有许多好处,比如 1、可以前后端并行开发,提高开发效率 2、页面都在客户端进行渲染,提高了渲染速度,减小了服务器的压力 3、一套api提供给多个客户端使用,而且不限制客户端的类型(web,app均可)
earthchen
2020/09/24
1.3K0
Django Rest Framework(版本、解析器、序列化、数据验证)
为了这种情况下每次都要decode,loads,显得麻烦,所以才有的解析器。弥补了django的缺点
用户1214487
2022/03/26
2.3K0
Django Rest Framework(版本、解析器、序列化、数据验证)
经历了源码的痛苦,掌握DRF的核心序列化器
导入:from rest_framework.serializers import Serializer
HammerZe
2022/05/09
8570
经历了源码的痛苦,掌握DRF的核心序列化器
Django rest Framework入门 三 :序列化与反序列化
笔记中提到的代码repo:https://github.com/yexia553/drf
panzhixiang
2024/10/30
2830
django restframework serializer 增加自定义字段
在使用django restframework serializer 序列化在django中定义的model时,有时候我们需要额外在serializer中增加一些model中没有的字段。有两种方法实现这个目的。
用户1214487
2022/03/26
1.8K0
从入门到_精通_Django REST Framework-(二)
rxg456
2025/02/25
1460
从入门到_精通_Django REST Framework-(二)
Django序列化器的简单使用
为方便理解后面序列化器中的字段,我们先在创建的APP中的models.py 建立一个数据库模型类。
仙人技术
2020/07/08
1.6K0
DjangoRestFramework,序列化组件、视图组件
    Courses --- GET ---> 查看数据----->返回所有数据列表[{},{},]
changxin7
2019/12/20
2.7K0
DjangoRestFramework,序列化组件、视图组件
drf框架序列化和返序列化
注意点:如果类的字段值应用在反序列化,我们可以在他的字段的属性上加上write_only=True
小小咸鱼YwY
2019/09/11
8970
Django REST framework+Vue 打造生鲜超市(九) 十、购物车、订单管理和支付功能
十、购物车、订单管理和支付功能 10.1.添加商品到购物车 (1)trade/serializer.py # trade/serializer.py __author__ = 'derek' from .models import ShoppingCart from rest_framework import serializers from goods.models import Goods class ShopCartSerializer(serializers.Serializer):
zhang_derek
2018/04/19
1K0
Django REST framework+Vue 打造生鲜超市(九)
		十、购物车、订单管理和支付功能
Django REST Framework-序列化器的使用(一)
在Django REST Framework(DRF)中,序列化器是用于将Django模型转换为序列化格式(例如JSON)和将序列化格式转换为Django模型的组件。
玖叁叁
2023/04/24
6600
推荐阅读
相关推荐
​从入门到"精通"Django REST Framework-(三)
更多 >
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档
本文部分代码块支持一键运行,欢迎体验
本文部分代码块支持一键运行,欢迎体验