python 对象转dict_python model对象转为dict数据
在接口通讯里经常遇到这种需求,需要将对象的字段名和值均传至接口,
user = User.objects.get(id=1)
笨方法1,没错,我这样写过:
di = {}
di['username'] = user.username
di['email'] = user.email
...... # 诸多赋值
笨方法2,没错,我也这样写过:
di = {}
all_fields = User._meta.get_all_field_names()
special_fields = ['is_active', 'is_stuff']
for i in special_fields:
try:
all_fields.remove(i)
except:
pass
for field in all_fields:
di[field] = getattr(user, field)
!!!正确的方法,翻源码时遇到的,最喜欢这种命名,看名字就知道了怎样用和返回值,看到它时又感觉django暖暖的,很贴心~:
from django.forms.models import model_to_dict
di = model_to_dict(user, exclude=['is_active', 'is_stuff'])
源码:def model_to_dict(instance, fields=None, exclude=None):
参数instance是对象实例,fields是指定需要哪些字段,exclude是指定排除哪些字段,exclude比fields优先级高。
python 对象转dict_python model对象转为dict数据相关推荐
- python list转dict_python中将list转为dict
最近在项目中经常遇到将list转为dict形式,之前都只会用for循环,取出list中的每个值,update到dict中. 示例1 scrabble_scores = [(1, "E A O ...
- C#object对向转成指定Model对象
我的方法可能会有些繁琐,不过确实能实现数据类型转换.先将现有的object对向转化json对向,然后再将json对向转化为想要得到的Model对象. 1.首先引用命名空间:using System.W ...
- dict是python语言的内置对象_Python内置了字典:dict的支持
一.dict函数 如果用dict实现,只需要一个"名字"-"成绩"的对照表,直接根据名字查找成绩,无论这个表有多大,查找速度都不会变慢.用Python写一个di ...
- python布尔类型运算_Python对象类型及其运算方法(详解)
基本要点: 程序中储存的所有数据都是对象(可变对象:值可以修改 不可变对象:值不可修改) 每个对象都有一个身份.一个类型.一个值 例: >>> a1 = 'abc' >> ...
- js字符串怎么转python对象_python对象与json相互转换的方法 python中怎么把json对象转成字符串...
在python中 如何实现将一个json字符串转化为对象 对象?json不能包含对象, 只能包含基本的数据类型, 键值对, 列表, 数字, 字符串等等 import jsond = {"k& ...
- python--第六章 python函数 装饰器 类 对象
一.装饰器 1.什么是装饰器 ''' 装饰器''' # 创建几个函数 def add(a,b):'''求任意两个数的和'''print('计算开始:')r = a + breturn rprint(' ...
- python中字符串转xml对象_Python-Json字符串和XML解析
Python-json字符串和xml解析 JSON:JavaScript Object Notation(JavaScript 对象表示法) JSON是存储和交换文本信息的语法,类似XML JSON比 ...
- python语言中一切皆对象_2 python 中一切皆对象
python 中一皆对象 在 python 编程语言中所有的一切都是对象 , python 语言相对于 C++ 或 java 这样的语言 (静态语言), 面向对象这个思想更加的彻底. 2.1 函数和类 ...
- python哪些是可变对象_什么是Python可变对象和不可变对象
什么是Python可变对象和不可变对象 发布时间:2020-07-22 09:59:15 来源:亿速云 阅读:60 作者:Leah 这篇文章运用简单易懂的例子给大家介绍什么是Python可变对象和不可 ...
最新文章
- Keras tensorflow Resnet模型
- Hexo博客新福利:HexoEditor编辑器最新使用方法
- c++fibonacci search斐波那契搜索的实现算法(附完整源码)
- 《好未来编程题》字符串中找出连续最长的数字串
- mysql排序行号_mysql 取得行号后再排序
- C++笔记-远程线程注入
- Linux下Wordpress建站Guide
- 10. Regular Expression Matching[H]正则表达式匹配
- 图片延迟加载(lazyload)的实现原理
- 数学建模之层次分析法
- 网络安全技术及应用复习材料
- 10分钟了解7个Java11的新功能
- uniapp ios 跳转appstore
- 导出excel合并单元格
- 程序存储器与数据存储器
- Linux-逻辑卷LVM
- iOS手势-UIGestureRecognizer
- 1.C语言变量类型、全局变量、局部变量
- Matlab之随机森林TreeBagger
- 原理图中的电阻旁边有个”NC“,什么意思?