关于Django中的序列化主要应用在将数据库中检索的数据返回给客户端用户,特别的Ajax请求一般返回的为Json格式。

方案一:serializers
1
2
3
4
5
fromdjango.coreimportserializers
 
ret=models.BookType.objects.all()
 
data=serializers.serialize("json", ret)
方案二:json.dumps(推荐用这种,第一种对连表查询数据不可以)
1
2
3
4
5
6
7
8
importjson
 
#ret = models.BookType.objects.all().values('caption')
ret=models.BookType.objects.all().values_list('caption')
 
ret=list(ret)
 
result=json.dumps(ret)

但是:

json.dumps无法处理datetime日期,所以可以通过自定义处理器做扩展,如下:
from datetime import datetime
from datetime import date
import json class JsonCustomEncoder(json.JSONEncoder):
def default(self, field):
if isinstance(field, datetime):
# 自定义对datetime做处理
return field.strftime('%Y-%m-%d %H:%M:%S')
elif isinstance(field, date):
# 自定义对date做处理
return field.strftime('%Y-%m-%d')
else:
return json.JSONEncoder.default(self, field) data_list = [
{'name':'alex','age':19, 'ctime': datetime.now()},
{'name':'egon','age':19, 'ctime': datetime.now()},
{'name':'eric','age':19, 'ctime': datetime.now()},
{'name':'rain','age':19, 'ctime': datetime.now()}
] val = json.dumps(data_list,cls=JsonCustomEncoder)
print(val)

  

 
 

最新文章

  1. Servlet、Filter、Listener、Interceptor
  2. spring IOC装配Bean(注解方式)
  3. Linux静默安装weblogic12(fmw_12.1.3.0.0_wls.jar)
  4. ZooKeeper系列4:ZooKeeper API简介及编程
  5. Codeforces Round #257 (Div. 2) A题
  6. ASP.net MVC 多语言处理
  7. Python学习笔记捌——面向对象高级编程
  8. git错误:fatal: Not a git repository (or any of the parent directories): .git
  9. 【Yii系列】处理请求
  10. CF #228 div1 B. Fox and Minimal path
  11. mysql的存储过程,函数,事件,权限,触发器,事务,锁,视图,导入导出
  12. JavaScript 函数定义
  13. select获取选中的option(包含value和text,重点是text怎么获取)
  14. Solidity-让合约地址 接受ETH的转账充值的 三种方式
  15. This project is not a myeclipse hibernate project . Assuming Hibernate 3 capabilities configuration editor
  16. 2111 ACM 贪心 水题
  17. Redis指令与数据结构(二)
  18. 【转】windows平台多线程同步之Mutex的应用
  19. php 5.0 新字符串
  20. jQuery ajax 添加头部参数跨域

热门文章

  1. spring boot 连接mysql 错误The server time zone value 'Öйú±ê׼ʱ¼ä' is unrecognized or represents more than one
  2. Qt Qml 汽车仪表
  3. Visual Studio各版本工程文件之间的转换 [转载]
  4. windows下eclipse连接ubuntu伪分布式hadoop2.6.0
  5. C# 测试代码的运行时间
  6. linux tcpdump抓包,wireshark实时解析
  7. 【转】关于Java并发编程的总结和思考
  8. Mac OSX 10.11安装Jekyll
  9. OJ 列表
  10. SPOJ HIGH(生成树计数,高斯消元求行列式)