Python 在JSON序列化中,将Django queryset转换为dictionnary

Python 在JSON序列化中,将Django queryset转换为dictionnary,python,json,django,api,serialization,Python,Json,Django,Api,Serialization,我正在创建一个API,我需要以字典格式返回数据,以便它可以通过API机制序列化 目前有效的代码非常简单: def mymethod(self): queryset1 = MyClass.objects.get(...) # Ccontains 1 object, easy to deal with queryset2 = OtherClass.objects.filter(...) # Contains N objects, hard to deal with ! r

我正在创建一个API,我需要以字典格式返回数据,以便它可以通过API机制序列化

目前有效的代码非常简单:

def mymethod(self):

    queryset1 = MyClass.objects.get(...) # Ccontains 1 object, easy to deal with
    queryset2 = OtherClass.objects.filter(...) # Contains N objects, hard to deal with !

    return {
        'qs1_result': queryset1.some_attribute # This works well
    }
从queryset1返回数据很容易,因为有1个对象。我只是选择了我需要的属性,它就工作了。现在让我们假设,另外,我想从queryset2返回数据,其中有许多对象,并且我不需要对象的每个属性

你会怎么做

我重复一遍,我不需要自己进行序列化。我只需要返回结构化数据,这样就可以进行序列化

非常感谢。

来自Django文档:

字段子集 如果只希望序列化字段的子集,可以为序列化程序指定字段参数:

from django.core import serializers
data = serializers.serialize('json', SomeModel.objects.all(), fields=('name','size'))

在本例中,只有每个模型的name和size属性将被序列化。

我不能自己序列化数据。我只需要在结构化的词汇表中返回数据。也许这有帮助?是的,谢谢,我也看到了。这是第一步,因为它给了我一个N个dict的列表,查询集中每个对象1个dict。