object of type datetime is not json serializable django

作者:admin 发布:2019-09-10 浏览:2018次

queryset 中如果包含 datatime 数据,再执行 json.dumps 时,会报错

 object of type datetime is not json serializable

解决办法:

重写json类,遇到日期特殊处理,其余的用内置的就行。

import json  
import datetime  
  
class DateEncoder(json.JSONEncoder):  
    def default(self, obj):  
        if isinstance(obj, datetime.datetime):  
            return obj.strftime('%Y-%m-%d %H:%M:%S')  
        elif isinstance(obj, datetime.date):  
            return obj.strftime("%Y-%m-%d")  
        else:  
            return json.JSONEncoder.default(self, obj)


调用 json.dumps(Queryset_data, cls=DateEncoder)

就可以了

Comments (0)