在接口通讯里经常遇到这种需求,需要将对象的字段名和值均传至接口,

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数据相关推荐

  1. python list转dict_python中将list转为dict

    最近在项目中经常遇到将list转为dict形式,之前都只会用for循环,取出list中的每个值,update到dict中. 示例1 scrabble_scores = [(1, "E A O ...

  2. C#object对向转成指定Model对象

    我的方法可能会有些繁琐,不过确实能实现数据类型转换.先将现有的object对向转化json对向,然后再将json对向转化为想要得到的Model对象. 1.首先引用命名空间:using System.W ...

  3. dict是python语言的内置对象_Python内置了字典:dict的支持

    一.dict函数 如果用dict实现,只需要一个"名字"-"成绩"的对照表,直接根据名字查找成绩,无论这个表有多大,查找速度都不会变慢.用Python写一个di ...

  4. python布尔类型运算_Python对象类型及其运算方法(详解)

    基本要点: 程序中储存的所有数据都是对象(可变对象:值可以修改 不可变对象:值不可修改) 每个对象都有一个身份.一个类型.一个值 例: >>> a1 = 'abc' >> ...

  5. js字符串怎么转python对象_python对象与json相互转换的方法 python中怎么把json对象转成字符串...

    在python中 如何实现将一个json字符串转化为对象 对象?json不能包含对象, 只能包含基本的数据类型, 键值对, 列表, 数字, 字符串等等 import jsond = {"k& ...

  6. python--第六章 python函数 装饰器 类 对象

    一.装饰器 1.什么是装饰器 ''' 装饰器''' # 创建几个函数 def add(a,b):'''求任意两个数的和'''print('计算开始:')r = a + breturn rprint(' ...

  7. python中字符串转xml对象_Python-Json字符串和XML解析

    Python-json字符串和xml解析 JSON:JavaScript Object Notation(JavaScript 对象表示法) JSON是存储和交换文本信息的语法,类似XML JSON比 ...

  8. python语言中一切皆对象_2 python 中一切皆对象

    python 中一皆对象 在 python 编程语言中所有的一切都是对象 , python 语言相对于 C++ 或 java 这样的语言 (静态语言), 面向对象这个思想更加的彻底. 2.1 函数和类 ...

  9. python哪些是可变对象_什么是Python可变对象和不可变对象

    什么是Python可变对象和不可变对象 发布时间:2020-07-22 09:59:15 来源:亿速云 阅读:60 作者:Leah 这篇文章运用简单易懂的例子给大家介绍什么是Python可变对象和不可 ...

最新文章

  1. Keras tensorflow Resnet模型
  2. Hexo博客新福利:HexoEditor编辑器最新使用方法
  3. c++fibonacci search斐波那契搜索的实现算法(附完整源码)
  4. 《好未来编程题》字符串中找出连续最长的数字串
  5. mysql排序行号_mysql 取得行号后再排序
  6. C++笔记-远程线程注入
  7. Linux下Wordpress建站Guide
  8. 10. Regular Expression Matching[H]正则表达式匹配
  9. 图片延迟加载(lazyload)的实现原理
  10. 数学建模之层次分析法
  11. 网络安全技术及应用复习材料
  12. 10分钟了解7个Java11的新功能
  13. uniapp ios 跳转appstore
  14. 导出excel合并单元格
  15. 程序存储器与数据存储器
  16. Linux-逻辑卷LVM
  17. iOS手势-UIGestureRecognizer
  18. 1.C语言变量类型、全局变量、局部变量
  19. Matlab之随机森林TreeBagger
  20. 原理图中的电阻旁边有个”NC“,什么意思?

热门文章

  1. ajax简单校验用户名是否存在
  2. 使用vSphere Power Cli初始化数据中心
  3. SQL 优化之该走索引却不走索引的分析
  4. MS 的IOC容器(ObjectBuilder)?
  5. docker 基础之数据管理
  6. JavaScript快速入门(三)——JavaScript语句
  7. Struts2 多方法的Action
  8. Node.js摸石头系列目录
  9. 用触发器实现表的同步操作
  10. Oracle学习笔记:oracle的启动过程