def _lecturas_del_periodo(anio, mes, quincena=None, region_id=None, funcion=Avg):
muestras = Muestra.objects.filter(anio=anio, mes=mes, aprobada=True)
if quincena:
muestras = muestras.filter(quincena=quincena)
lecturas = Lectura.objects.filter(muestra__in=muestras, precio__gt=0)
if region_id:
lecturas = lecturas.filter(
muestra__planilla_de_relevamiento__zona__jurisdiccion__region__pk=region_id)
lecturas = lecturas.annotate(orden=F("producto_con_marca__producto_generico__id"))\
.annotate(producto=F("producto_con_marca__producto_generico__nombre"))\
.annotate(comercio=F('muestra__planilla_de_relevamiento__comercio__nombre'))\
.values('comercio', 'producto')\
.annotate(valor=funcion('precio'))\
.annotate(c_p=Concat(F('muestra__planilla_de_relevamiento__comercio__nombre'),
F("producto_con_marca__producto_generico__nombre")))\
.order_by('orden', 'comercio')
return lecturas
评论列表
文章目录