serialize datetime to json in Django

Posted on

Question :

serialize datetime to json in Django

Hi how do I get DateTimeField from 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_data = serializers.serialize("json", data, ensure_ascii=False)

But now I get ‘str’ object has no attribute ‘_meta’.

Asked By: Rakesh


Answer #1:

DjangoJSONEncoder solved my problem.

import json
from django.core.serializers.json import DjangoJSONEncoder
data = json.dumps(data, cls=DjangoJSONEncoder)
Answered By: Rakesh

Answer #2:

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.

Answer #3:

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.

Answered By: Chris Pratt

Leave a Reply

Your email address will not be published. Required fields are marked *