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")
Кто-нибудь может объяснить, почему это может быть так?