可以serializers.serialize合并/连接不同类型的多个对象

时间:2014-02-20 00:43:30

标签: python json django serialization

我的models.py

中有一个人和公司课程

在视图中,我正在执行以下操作:

company = company.objects.filter(company_id=compid)
user = person.objects.filter(person_id=company[0].manager_id)

我希望将公司和用户的所有字段输入到一个输出中并返回结果,如下所示:

output = serializers.serialize('json',[company,user], fields=('company_id', 'company_name', 'user_id', 'user_name'))
return HttpResponse(output, content_type="application/json")

如何实现这一结果?

1 个答案:

答案 0 :(得分:0)

我认为首先serializers.serialize更加灵活,而不是使用ValuesQuerySet,您可以在字段中使用跨模型查询:

companys = company.objects.filter(...)
output = list(company.values('id',
        'name', 'manager__id', 'manager__name'))
json.dumps(output)

注意两个_