开发者

Serialize datetime to JSON

开发者 https://www.devze.com 2023-02-22 15:07 出处:网络
How do I get DateTimeField from the Mysql database in Django in JSON format? I got an error when I executed the code Date.time cannot be serialized in json (data holds a lot of values):

How do I get DateTimeField from the Mysql database in Django in JSON format? I got an error when I executed the code Date.time cannot be serialized in json (data holds a lot of values):

data = json.dumps(data)

But this was fixed by adding

ALL_开发者_JS百科data = serializers.serialize("json", data, ensure_ascii=False)

But now I get 'str' object has no attribute '_meta'.


DjangoJSONEncoder solved my problem.

import json
from django.core.serializers.json import DjangoJSONEncoder
data = json.dumps(data, cls=DjangoJSONEncoder)


Django's serializers are only meant to be used on query sets; you will have to find a different way to solve your problem, such as converting the datetime to something else first.


Whenever you see an error message of the form ... object has no attribute '_meta' that is a clear-cut sign that a method was expecting a queryset but got something else. In this particular situation, serializers.serialize must have a queryset for its second argument. You can't use a list, dictionary, etc., and definitely not a string.

Where is data being set. Check to make sure it's being assigned a true queryset. You might also want to post more of your code, if you're still having issues. It's difficult to diagnose the problem much more, out of context.

0

精彩评论

暂无评论...
验证码 换一张
取 消