RakutenItem.objects.order_by(‘-updated_at’)[:30] この中から、itemPriceの最安を1つだけ取得したい

最安の itemPrice を1つだけ取得するには、annotateorder_by を使って全体を一旦 itemPrice で昇順に並べ、その後で最初の要素を取得する方法があります。以下はその例です:

python
from django.db.models import F, Min # itemPriceで昇順に並べ、最小価格を注釈として追加 recent_items = RakutenItem.objects.order_by('itemPrice').annotate(min_price=Min('itemPrice')) # 最小価格のアイテムを取得 min_price_item = recent_items.first() # min_price_itemを使って最安のitemPriceを取得 min_price = min_price_item.min_price # もしくは # min_price = RakutenItem.objects.order_by('itemPrice').values_list('itemPrice', flat=True).first() # min_priceを使って必要な処理を行う

こうすることで、最安の itemPricemin_price として取得できます。取得した最安価格を使って必要な処理を行えます。

未分類

Posted by ぼっち