У меня есть следующие QuerySet:Django добавляет дополнительные столбцы в группе
Pago.objects.filter(created__range=(self.inicio, self.fin)).values('tipo__nombre').annotate(monto=Sum('monto'))
И производит следующий SQL:
SELECT "invoice_tipopago"."nombre", SUM("invoice_pago"."monto") AS "monto" FROM "invoice_pago" INNER JOIN "invoice_tipopago" ON ("invoice_pago"."tipo_id" = "invoice_tipopago"."id") WHERE "invoice_pago"."created" BETWEEN 2015-01-01 00:00:00-06:00 AND 2015-06-04 14:18:00-06:00 GROUP BY "invoice_tipopago"."nombre", "invoice_pago"."modified", "invoice_pago"."created" ORDER BY "invoice_pago"."modified" DESC, "invoice_pago"."created" DESC
Это добавляет дополнительные измененные и созданные столбцы, которые я нахожусь не указывая, и я хотел бы знать, как этого избежать. Следует отметить, что Pago является производным от класса TimeStampedModel с расширением django.
Заранее спасибо.
Yup, это было, я просто добавил order_by(), чтобы удалить Все, что я заказываю, я не знаю, почему я никогда не читал об этом поведении на Django ORM, в нем конкретно говорится, что он никогда автоматически не удаляет какие-либо заказы, которые вы укажете, если вы этого не сделаете. – SpectralAngel