'>' не поддерживается между экземплярами 'decimal.Decimal' и 'QuerySet' Как преобразовать QuerySet в десятичную дробь или получить доступ к значениям в нем?

Я пытаюсь сделать сайт электронной коммерции (CS50 Project 2), который позволяет пользователю сделать ставку, если его ставка больше или равна цене листинга и больше, чем все остальные ставки. Я смог проверить, превышает ли ставка цену листинга, но мне нужна помощь в проверке, превышает ли она другие ставки.

Я получаю сообщение об ошибке. '>' not supported between instances of 'decimal.Decimal' and 'QuerySet'. Я знаю, что это означает, что я сравниваю два разных типа значений, но как мне изменить QuerySet на десятичный или получить прямой доступ к значениям внутри QuerySet?

views.py

def listing(request, id):
    #gets listing
    listing = Listings.objects.get(id=id)
    #code for forms
    listing_price = listing.bid
    comment_obj = Comments.objects.filter(listing=listing)
    comment_form = CommentForm()
    bid_form = BidsForm()
    comment_form = CommentForm(request.POST)
    bid_form = BidsForm(request.POST)
    bid_obj = Bids.objects.filter(listing=listing)
    other_bids = bid_obj.all()
    if comment_form.is_valid():
        comment = comment_form.save(commit=False)
        comment.listing = listing
        comment.user = request.user
        comment.save()
    if bid_form.is_valid():
        new_bid = bid_form.cleaned_data.get("bid")
        if (new_bid >= listing_price) and (new_bid > other_bids):
            bid = bid_form.save(commit=False)
            bid.listing = listing
            bid.user = request.user
            bid.save()
        else:
            return render(request, "auctions/listing.html",{
            "auction_listing": listing,
            "form": comment_form,
            "comments": comment_obj,
            "bidForm": bid_form,
            "bids": bid_obj
        })
    else:
        return render(request, "auctions/listing.html",{
            "auction_listing": listing,
            "form": comment_form,
            "comments": comment_obj,
            "bidForm": bid_form,
            "bids": bid_obj
        })
    return render(request, "auctions/listing.html",{
        "auction_listing": listing,
        "form": comment_form,
        "comments": comment_obj,
        "bidForm": bid_form,
        "bids": bid_obj
    })

(Есть две формы, одна для комментариев, другая для предложений)

Эта строка other_bids = bid_obj.all() вызывает проблему, но я не знаю, как ее исправить.

Спасибо за помощь!

QuerySet является итерабельным

for bid in other_bids:
     # hint: what's max value in other_bids and use that val later

Редактирование 1: Нахождение максимума

max_bid =0   
for bid in other_bids:
      if bid.listing > max_bid:
           max_bid = bid.listing
Вернуться на верх