print(str(high_margin.query))
Op deze manier kun je krijgen wat een queryset
produceert en speelt rond omdat het een luie vraag is, zoals vermeld door antwoord hier.
Dus ik kreeg de verwachte SQL-query door gewoon de expiry_date
. toe te voegen in de values
, die groep op naam produceert, vervaldatum zoals vermeld door docs .
Code verandert als:
high_margin = StoreInvoiceBreakup.objects \
.filter(store_invoice__store_id=store_id) \
.values('product_name', 'expiry_date') \
.annotate(gross_margin_sum=Sum('gross_margin')) \
.order_by('gross_margin_sum') \
.distinct()[:int(sell_range)]
*niet zeker of het juist is