print(str(high_margin.query))
Dengan cara ini Anda bisa mendapatkan apa queryset
menghasilkan dan bermain-main sebagai kueri malas seperti yang dinyatakan oleh jawab di sini.
Jadi saya mendapatkan kueri SQL yang diharapkan hanya dengan menambahkan expiry_date
di values
, yang menghasilkan grup berdasarkan nama, tanggal kedaluwarsa seperti yang dinyatakan oleh dokumen .
Kode berubah sebagai:
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)]
*tidak yakin apakah benar