最近初入大神级语言。。。 python....准备做个小系统 初试牛刀
被 Django框架各种方便征服...(直接拿来可用)
好了,说正题:
在使用layui做表格分页的时候遇到需要将 后台django objects filter的数据 转换成JSON 的问题(如需看正确代码,请直接拖到最后,老同志爱吐槽)
import json
user_list=models.User.objects.filter(createtime__gt=searchdatestart)
return render(request,"user_list.html",json.dumps(user_list))
天真的直接使用了 python 自带的JSON 序列化工具,于是报了如下错误
Object of type QuerySet is not JSON serializable
参考了这段解决思路后,在filter之后直接用value 限定输出内容,结果错误变成了
TypeError: datetime is not JSON serializable
最后使用了 DJANGO的 DjangoJSONEncoder 才顺利搞定
正确代码如下:
import json
user_list=models.User.objects.filter(createtime__gt=searchdatestart).values('userid','createtime','lastlogintime')
return render(request,"user_list.html"
,json.dumps(list(user_list)
,sort_keys=True
,indent=1
,cls=DjangoJSONEncoder))