Django【进阶】序列化
2024-08-28 17:06:58
关于Django中的序列化主要应用在将数据库中检索的数据返回给客户端用户,特别的Ajax请求一般返回的为Json格式。
方案一:serializers
1
2
3
4
5
|
from django.core import serializers ret = models.BookType.objects. all () data = serializers.serialize( "json" , ret) |
方案二:json.dumps(推荐用这种,第一种对连表查询数据不可以)
1
2
3
4
5
6
7
8
|
import json #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)
最新文章
- Servlet、Filter、Listener、Interceptor
- spring IOC装配Bean(注解方式)
- Linux静默安装weblogic12(fmw_12.1.3.0.0_wls.jar)
- ZooKeeper系列4:ZooKeeper API简介及编程
- Codeforces Round #257 (Div. 2) A题
- ASP.net MVC 多语言处理
- Python学习笔记捌——面向对象高级编程
- git错误:fatal: Not a git repository (or any of the parent directories): .git
- 【Yii系列】处理请求
- CF #228 div1 B. Fox and Minimal path
- mysql的存储过程,函数,事件,权限,触发器,事务,锁,视图,导入导出
- JavaScript 函数定义
- select获取选中的option(包含value和text,重点是text怎么获取)
- Solidity-让合约地址 接受ETH的转账充值的 三种方式
- This project is not a myeclipse hibernate project . Assuming Hibernate 3 capabilities configuration editor
- 2111 ACM 贪心 水题
- Redis指令与数据结构(二)
- 【转】windows平台多线程同步之Mutex的应用
- php 5.0 新字符串
- jQuery ajax 添加头部参数跨域
热门文章
- spring boot 连接mysql 错误The server time zone value 'Öйú±ê׼ʱ¼ä' is unrecognized or represents more than one
- Qt Qml 汽车仪表
- Visual Studio各版本工程文件之间的转换 [转载]
- windows下eclipse连接ubuntu伪分布式hadoop2.6.0
- C# 测试代码的运行时间
- linux tcpdump抓包,wireshark实时解析
- 【转】关于Java并发编程的总结和思考
- Mac OSX 10.11安装Jekyll
- OJ 列表
- SPOJ HIGH(生成树计数,高斯消元求行列式)