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 model对象转为dict数据的更多相关文章
- 项目一:第五天 1、区域数据(pinyin4j-简码,城市编码) 2、Web层代码重构(model对象,分页代码提取) 3、区域分页查询 3、分区添加功能 4、定区管理管理-添加,分页
Service: /** * @Description: 1.保存定区 2.让分区关联定区 * 对象三种状态 1.持久态(被session管理对象-一级缓存中有对象) 2.托管态(有OID标识,数据 ...
- django的model对象转化成dict
今天发现一个掉渣天的方法,Django的forms包里面有一个方法:model_to_dict(),它可以将一个model对象转化成dict. In [1]: from apps.dormitory. ...
- python调用数据返回字典dict数据的现象2
python调用数据返回字典dict数据的现象2 思考: 话题1连接:https://www.cnblogs.com/zwgbk/p/10248479.html在打印和添加时候加上内存地址id(),可 ...
- python调用数据返回字典dict数据的现象1
python调用数据返回字典dict数据的现象1 思考: 可以看到这两种情况,区别在于构造函数make()里赋值给字典dict的方式不同.使用相同的调用方式,而结果却完全不同.可以看到第二种情况才是我 ...
- Python json 读取 json 文件并转为 dict
Python json 读取 json 文件并转为 dict 在 D 盘 新建 test.json: { "test": "测试\n换行", "dic ...
- python操作txt文件中数据教程[3]-python读取文件夹中所有txt文件并将数据转为csv文件
python操作txt文件中数据教程[3]-python读取文件夹中所有txt文件并将数据转为csv文件 觉得有用的话,欢迎一起讨论相互学习~Follow Me 参考文献 python操作txt文件中 ...
- DataTable转List,DataTable转为Model对象帮助类
DataTable转List,DataTable转为Model对象帮助类 public class ModelConvertHelper<T> where T : new() { publ ...
- 使用SqlAlchemy时如何方便的取得dict数据、dumps成Json
使用Sqlalchemy可以方便的从数据库读取出python对象形式的数据(吐槽:说实话对象形式也没多方便,还不如我之前从关系型数据库直接读取出dict形式的数据用起来方便,具体参见我以前的文章htt ...
- Python基本语法_强制数据类型转换
目录 目录 前言 软件环境 Python数据类型的显式转换 显式转换的多种类型 Non-String转换为String str函数 repr str和repr的区别 eval Non-int转换为in ...
随机推荐
- where过滤字句
无条件为真 为假 别名不能直接用来当做查询来用 只能如此 下面这些语句是可以使用的,使用的是排序规则
- C语言输入多组问题~ungetc回退字符到stdin
题目描述 输入数组长度 n 输入数组 a[1...n] 输入查找个数m 输入查找数字b[1...m] 输出 YES or NO 查找有则YES 否则NO . 输入描述: 输入有多组数据 ...
- Thinking in Java——笔记(9)
Polymorphism Abstract classes and methods If you have an abstract class, objects of that specific cl ...
- rabbimq之流控
rabbitmq为了能够保证服务器在大量使用资源的情况下正常工作,会做流控. 所谓流控有以下两个方面.一是针对连接做流控,即降低某频率过快的发送消息.二是整体流控,即将所有消费者发送的消息丢掉,悄无声 ...
- SinalR+WebSocket
1.参考资料: http://www.asp.net/signalr/overview/guide-to-the-api/hubs-api-guide-server http://signalr.ne ...
- 土壤湿度传感器YL69使用
1.电源:3.3V ~ 5V 2.获取湿度信息的方式(2种可同时使用): 从传感器的D0引脚:土壤湿度大于某个阈值,则D0输出0,否则输出1 从传感器的A0引脚:获取到模拟量,更加精确.土壤湿度越大, ...
- android如何获取到启动类的包和类路径
ArrayList<String> list = new ArrayList<String>(); private List<ResolveInfo> mApps; ...
- linux下使用sftp
何为sftp sftp是Secure File Transfer Protocol的缩写,安全文件传送协议.可以为传输文件提供一种安全的加密方法. 连接 linux下直接在终端中输入: sftp us ...
- iOS,视图控制器相关(UIViewController)
1.视图控制器各个方法调用时机 2.选项卡(Tab Bar)和导航栏(Navigation Bar) 3.有无控制器的页面跳转 4.页面跳转隐藏底部选项卡 5.获取导航栏和状态栏高度,隐藏导航栏返回按 ...
- windows环境同时连多个openvpn配置
根据同事的经验分享: 环境: os:windows7 vpn: openvpn5 1. 进入"设备管理器" 2. 选择"操作" —> " ...