print(str(high_margin.query))
Bằng cách này, bạn có thể nhận được những gì một queryset
tạo và chơi xung quanh nó như một truy vấn lười biếng như được nêu bởi trả lời tại đây.
Vì vậy, tôi đã nhận được truy vấn SQL mong đợi bằng cách thêm expiry_date
trong các giá trị values
, nhóm sản xuất theo tên, ngày hết hạn như được nêu trong tài liệu .
Mã thay đổi thành:
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)]
* không chắc có đúng không