CS50w коммерческий проект: 'Ставка должна быть такой же большой, как начальная ставка, и должна быть больше, чем все другие ставки, которые были сделаны (если таковые имеются)'?

Я решил эту конкретную проблему, но есть кое-что, что я заметил и не понял, почему она ведет себя так, как ведет.

Приведенный ниже код сработал так, как я хотел:

@login_required
def bid_placed(request,listing_id):
    if request.method == "POST":
        
        recent_bid = Bid(
            Bid_amount = request.POST["bid_amount"],
            listing = Listing.objects.get(pk=listing_id)
        )

        listing = Listing.objects.get(pk=listing_id)
        starting_Bid = listing.Starting_Bid        
        recent_bid_int = int(recent_bid.Bid_amount)
   

        if recent_bid_int > starting_Bid:

            listing.Starting_Bid =  recent_bid_int

            listing.save()
            
            return HttpResponse("Bid SUCCESSFULLY Placed")

        else:
            return HttpResponse("Bid CANNOT be placed")        

Но приведенный ниже код НЕ работает так, как нужно, несмотря на то, что переменная starting_Bid была объявлена:

@login_required
def bid_placed(request,listing_id):
    if request.method == "POST":
        
        recent_bid = Bid(
            Bid_amount = request.POST["bid_amount"],
            listing = Listing.objects.get(pk=listing_id)
        )

        listing = Listing.objects.get(pk=listing_id)
        starting_Bid = listing.Starting_Bid        
        recent_bid_int = int(recent_bid.Bid_amount)
   

        if recent_bid_int > starting_Bid:

            starting_Bid =  recent_bid_int

            listing.save()
            
            return HttpResponse("Bid SUCCESSFULLY Placed")

        else:
            return HttpResponse("Bid CANNOT be placed")

Кто-нибудь может объяснить, почему это может быть так?

Вернуться на верх