У меня есть две таблицы, одна из которых является брендом, а другая - продуктом, теперь продукт имеет 1 иностранную единицу brand_id.
1 бренд имеет несколько товаров по разным ценам.
Теперь проблема в том, что я хочу получить только 1 товар для каждого бренда, но не более 1, и что 1 товар выбирается по минимальной цене. , как этого добиться в Django ORM?
Примечание: если у бренда нет товара, то этот бренд не должен доставаться!
здесь, что я пробовал, но это не работает.
def price_chart(request, category_slug):
labels = []
price_data = []
price_analysis_data = Product.objects.filter(brand__category__category_slug = category_slug).values('brand__brand_name').annotate(
Min('product_price')
).order_by('-product_price')
for data in price_analysis_data:
labels.append(data['brand__brand_name'])
price_data.append(data['product_price'])
return JsonResponse(data={
'labels': labels,
'price_data': price_data,
})
Пожалуйста, предложите мне хорошее решение!