RakutenPriceSearch.objects.values(‘original_product_code’).annotate(min_price=Min(‘itemPriceMin1’) これで次の安い値を取得したい
次の安い値を取得するためには、まず最小値を取得し、その後で最小値よりも大きい値の中で最小の値を見つける必要があります。以下はその方法です:
python
from django.db.models import Min, F # 最小値を取得 min_price_records = RakutenPriceSearch.objects.values('original_product_code').annotate(min_price=Min('itemPriceMin1')) # 最小値より大きい値の中で最小の値を取得 next_min_price_records = RakutenPriceSearch.objects.filter(itemPriceMin1__gt=min_price_records['min_price']).values('original_product_code').annotate(next_min_price=Min('itemPriceMin1')) for record in next_min_price_records: print(f"Original Product Code: {record['original_product_code']}, Next Minimum Price: {record['next_min_price']}")
これにより、各製品ごとに最小価格とその次の最小価格が取得されます。

ディスカッション
コメント一覧
まだ、コメントがありません