我有一个如下所示的视图集:
class EstadisticasEquipoViewSet(viewsets.ModelViewSet):
"""
Trae estadísticas totales de todos los equipos de una zona en una respectiva liga.
"""
serializer_class = EstadisticaEquiposSerializer
def get_queryset(self):
queryset = Estadistica_Equipo_Partido.objects.filter(id_partido__id_zona=self.request.query_params.get('id_zona')).values('id_equipo').annotate(
...
tot_puntos=Sum('puntos'),
prom_puntos=Avg('puntos'),
prom_q1=Avg('q1'),
prom_q2=Avg('q2'),
prom_q3=Avg('q3'),
prom_q4=Avg('q4'),
tot_tiros_campo_convertidos=Sum('tiros_campo_convertidos'),
prom_tiros_campo_convertidos=Avg('tiros_campo_convertidos'),
...
)
return queryset
如何对此组中的字段进行分组注释:
实际上,我有一个序列化程序:
class EstadisticaEquiposSerializer(serializers.ModelSerializer):
...
tot_puntos = serializers.IntegerField()
prom_puntos = serializers.FloatField()
tot_tiros_campo_convertidos = serializers.IntegerField()
prom_tiros_campo_convertidos = serializers.FloatField()
tot_tiros_campo_intentados = serializers.IntegerField()
prom_tiros_campo_intentados = serializers.FloatField()
...
class Meta:
model = Estadistica_Equipo_Partido
fields = (...
'tot_puntos', 'prom_puntos', 'tot_tiros_campo_convertidos',
...
)
我需要这个json:
{
"promedios":
{
"prom_puntos": 80,
"prom_tiros_campo_convertidos": 24,
...
},
"totales":
{
"tot_puntos": 1171,
"tot_tiros_convertidos": 684,
...
},
},
我的解决方案包括为我需要的每个类别使用SerializerMethodField和另一个序列化程序
序列化程序.py
相关问题 更多 >
编程相关推荐