Serialize datetime to JSON
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.
精彩评论