python 嵌套对象转为dict
as_dict(self, keys=None, exclude_keys=None):
"""
将ORM对象序列化为字典
:param keys:
:return:
"""
if not keys:
keys = self.output_fields
keys += ['add_datetime', 'update_datetime', 'uuid']
keys = set(keys)
object_dict = dict()
for key in keys:
if exclude_keys and key in exclude_keys:
continue
value = last_value = getattr(self, key)
if isinstance(value, raw_models.Model):
if isinstance(value, self.__class__):
last_value = value.__unicode__()
else:
last_value = value.as_dict()
if last_value is None:
last_value = ''
object_dict[key] = last_value
key_field = self.__class__._meta.get_field(key)
if key_field.choices: # 如果是下拉列表字段
object_dict[key + '_map'] = dict(key_field.choices)
return object_dict
python 嵌套对象转为dict的更多相关文章
- python model对象转为dict数据
在接口通讯里经常遇到这种需求,需要将对象的字段名和值均传至接口,user = User.objects.get(id=1)笨方法1,没错,我这样写过:di = {}di['username'] = u ...
- Python json 读取 json 文件并转为 dict
Python json 读取 json 文件并转为 dict 在 D 盘 新建 test.json: { "test": "测试\n换行", "dic ...
- python——Container之字典(dict)详解
字典(dictionary)是除列表以外python之中最灵活的内置数据结构类型.列表是有序的对象结合,字典是无序的对象集合.两者之间的区别在于:字典当中的元素是通过键来存取的,而不是通过偏移存取. ...
- python关于列表转为字典的两个小方法
1.现在有两个列表,list1 = ['key1','key2','key3']和list2 = ['1','2','3'],把他们转为这样的字典:{'key1':'1','key2':'2','ke ...
- 将[{},{}]转为dict
经常遇到一种需求,需要把从数据库取出的数据,转为dict对象([{}, {},...]-->dict). rs = [{, , "name":"edf"} ...
- Python 可变对象和不可变对象
具体可以看这里:http://thomaschen2011.iteye.com/blog/1441254 不可变对象:int,string,float,tuple 可变对象 :list,dicti ...
- python面对对象编程------4:类基本的特殊方法__str__,__repr__,__hash__,__new__,__bool__,6大比较方法
一:string相关:__str__(),__repr__(),__format__() str方法更面向人类阅读,print()使用的就是str repr方法更面对python,目标是希望生成一个放 ...
- 完全理解Python迭代对象、迭代器、生成器
在了解Python的数据结构时,容器(container).可迭代对象(iterable).迭代器(iterator).生成器(generator).列表/集合/字典推导式(list,set,dict ...
- python基础之字典dict和集合set
作者:tongqingliu 转载请注明出处:http://www.cnblogs.com/liutongqing/p/7043642.html python基础之字典dict和集合set 字典dic ...
- python中对象、类型和元类之间的关系
在python中对象.类型和元类构成了一个微妙的世界. 他们有在这个世界里和平共处,相辅相成.它们遵循着几条亘古不变的定律: 1.python中无处不对象 2.所有对象都有三种特性:id.类型.值 3 ...
随机推荐
- 调用HttpClient.PostAsync时传token等值
做内部接口转发时加token验证需要传token值过去,有如下两种方式 string jsonContent = JsonConvert.SerializeObject(args); using(va ...
- 2021级《JAVA语言程序设计》上机考试试题1
昨天进行了期末考试,考的不够理想,看见题没思路,到了10点半刚刚进入状态,11点半结束....... 这是学生的试题要求(按照评分卡上的来,卷子上要求和评分卡不一致(.......)) 这是登录页面 ...
- spark数据清洗
spark数据清洗 1.Scala常用语法 运用maven创建项目,需要导入如下依赖: <dependency> <groupId>org.apache.spark</g ...
- [POI2011]MET-Meteors 解题报告
语言系统紊乱了 QAQ 这道题感觉不是很难鸭 qwq. 先只考虑一个国家,怎么做?很显然,就直接二分一下就行了.判定答案可以维护一个差分数组,然后最后对它做一个前缀和,再求一下这个国家的流行数量就好了 ...
- Where do I Turn?(叉积)
题目: Trouble came from the overseas lands: a three-headed dragon Gorynych arrived. The dragon settled ...
- 我有一篇Java Stream使用手册,学了就是你的了!
原创:扣钉日记(微信公众号ID:codelogs),欢迎分享,非公众号转载保留此声明. 简介 日常编程工作中,Java集合会经常被使用到,且经常需要对集合做一些类似过滤.排序.对象转换之类的操作. 为 ...
- GPS地图生成01之概述
图片来源: Author: Tang Email: jianbo.tang@csu.edu.cn
- Vue中如何实现在线预览word文件、excel文件
一.查看word 1.引用mammoth.js (1)安装 npm install --save mammoth 1 npm install --save mammoth (2)引入import ma ...
- PO/PI
典型集成场景 PI总体架构 消息映射 General Concepts(通用概念) 映射编辑器 元素 分配源/目标消息类型 有3种消息类型可分配给消息映射 1.使用已经存在于IR中的对象(比如消息类型 ...
- Mysql去重获取最新的一条数据
Mysql去重获取最新的一条数据 select * from yjzt_kindergartens r where id in (select max(id) from yjzt_kindergart ...