Reputation: 3068
I am trying to serialize my django model like this:
>>> from studentapp.models import StudentAcademicPrograms
>>> from studentapp.models import AcademicPrograms, AcademicProgramsManager
>>> from django.core import serializers
>>> json_serializer = serializers.get_serializer("json")
>>> data = json_serializer.serialize(StudentAcademicPrograms.objects.all())
But i am getting this error:
Traceback (most recent call last):
File "<console>", line 1, in <module>
TypeError: unbound method serialize() must be called with Serializer instance as first argument (got QuerySet instance instead)
Upvotes: 1
Views: 841
Reputation: 1685
You must instantiate json_serializer
>>> data = json_serializer().serialize(StudentAcademicPrograms.objects.all())
Notice ()
after json_serializer.
Upvotes: 2
Reputation: 473833
You can do it this way:
from django.core.serializers import serialize
serialize('json', StudentAcademicPrograms.objects.all())
Your specific problem is that you are try to call serialize()
on a Serializer
class, not instance.
JSONSerializer = serializers.get_serializer("json")
json_serializer = JSONSerializer()
json_serializer.serialize(StudentAcademicPrograms.objects.all())
data = json_serializer.getvalue()
Also check out this example from django docs.
Upvotes: 2