Django将queryset作为序列化

时间:2016-12-19 17:09:39

标签: python django django-models

在Django中,如果您执行以下操作:

print(serializers.serialize(MyModel.objects.all()))

它将以这种格式很好地输出JSON字符串:

{
    {'pk' : 1, fields : {'fieldname1' : 'value1, 'fieldname2', 'value2'},
}

当您处理可与任何模型一起使用的“通用”应用程序时,这非常有用,无需知道pk字段名称或非隐藏非关系字段名称列表。

对于这个问题,我怎么能这样做,但把它作为字典保存在Python中?我可以json.loads串行器输出,但这很简单。

我想要实现的最接近的是.values() QuerySet方法,但它没有列出pk字段

1 个答案:

答案 0 :(得分:2)

实际上serialize将序列化的格式作为其第一个参数。通常这是'json'或'xml',但你也可以使用'python',它转换为标准的Python字典。