Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/python/322.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/django/22.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Python 如何使用“分组依据”查询形成响应_Python_Django_Model View Controller - Fatal编程技术网

Python 如何使用“分组依据”查询形成响应

Python 如何使用“分组依据”查询形成响应,python,django,model-view-controller,Python,Django,Model View Controller,我想使用对象类型作为键为端点创建自定义响应对象 它是django后端 模型形状: 布拉布拉赫模型 id=uuid 类型='type1' 值='我是蝙蝠侠!' 视图: 类HedesViewAPIView: 权限\u类=已验证, def getself,请求: hedes=Event.objects.all.query events.group_by=[类型] evento=QuerySetquery=hedes,model=hedes 返回响应 { hedes:EventSerializereve

我想使用对象类型作为键为端点创建自定义响应对象

它是django后端

模型形状:

布拉布拉赫模型 id=uuid 类型='type1' 值='我是蝙蝠侠!' 视图:

类HedesViewAPIView: 权限\u类=已验证, def getself,请求: hedes=Event.objects.all.query events.group_by=[类型] evento=QuerySetquery=hedes,model=hedes 返回响应 { hedes:EventSerializerevento,many=True.data } 答复:

    hedes: [{...}, {...}, {...}]
如何将此响应编辑为这样

hedes: {
   type1: [{...}, {...}],
   type2: [{...}]
}

我不太熟悉Django中的group_by语句,但在SQL(底层查询语言)中,group by为每种类型返回一项,这不是您想要的


为了获得您想要的结果,您可能需要编辑EventSerializer的To_表示函数,这在对这个问题的回答中有概述:

在Django中,如果您想像在SQL查询中那样“分组”,您需要使用ORM的“值”函数。下面的模块帮助我解决了这个问题: