Opened 7 years ago

Last modified 7 years ago

#27812 closed Bug

When there is a DateTimeField django does not group by — at Initial Version

Reported by: Fabio García Sánchez Owned by: nobody
Component: Database layer (models, ORM) Version: 1.10
Severity: Normal Keywords: queryset, group by
Cc: Triage Stage: Unreviewed
Has patch: no Needs documentation: no
Needs tests: no Patch needs improvement: no
Easy pickings: no UI/UX: no

Description

I have 2 models, both have almost the same fields. Just one of them has a DateTimeField.
The problem comes when I try to group by (not on the DateTimeField) and summarize using Sum in annotate. The model that does not have the DateTimeField works properly, the other groups by day, the Sum is per day.

qs1 = Bills.objects.values('tipo_documento').annotate(total=Sum('venta_neto'))
print(qs1 )
<QuerySet [{'tipo_documento': 'FV', 'total': Decimal('8419159.0000')}, {'tipo_documento': 'FY', 'total': Decimal('12500000.0000')}, {'tipo_documento': 'FY', 'total': Decimal('210000.0000')}...

this repeat the type ('tipo_documento'), each Total is per day.

On the other hand, the model without DateTimeField work properly:

qs2 = Bills2.objects.values('tipo_documento').annotate(total=Sum('venta_neto'))
print(qs2 )
<QuerySet [{'tipo_documento': 'FV', 'total': Decimal('22367372215.1000')}, {'tipo_documento': 'NV', 'total': Decimal('-38955434.0000')}, {'tipo_documento': 'NI', 'total': Decimal('0.0000')}, {'tipo_documento': 'FY', 'total': Decimal('10155529934.9700')}]>

qs2 works properly. I have tried to do the same example with another models and I have got the same issue.

Thanks

Change History (0)

Note: See TracTickets for help on using tickets.
Back to Top