Deseo recuperar una suma de dos campos (que son agregaciones) para cada objeto en una tabla.Usando .extra() en campos creados por .annotate() en Django
Lo siguiente puede describir un poco mejor lo que busco pero los resultados en un -Error Unknown column in field list
:
items = MyModel.objects.annotate(
field1=Sum("relatedModel__someField"),
field2=Sum("relatedModel__someField")).extra(
select={"sum_field1_field2": "field1 + field2"})
También intentado usar F() para las operaciones de búsqueda de campo, pero eso me da una instrucción SQL no válida .
Cualquier idea sobre cómo resolver esto es muy apreciada.
¿Estás seguro de que el error de "columna desconocida" se refiere a "extra" en lugar de a "anotación"? Muestra el rastreo, por favor. –
La consulta se ejecuta correctamente cuando solo se usa 'annotate': ambas sumas se agregan como campos a los objetos devueltos. Solo cuando se usa 'extra', se genera la excepción. – jnns
+1: teniendo el mismo problema, todavía no encontré una solución! –