CS50W: Проект2 (Коммерция) / Django

Я заканчиваю работу над приложением Django для аукционов. Мне нужно сделать представление для каждого объявления, показывающее текущие ставки по этому объявлению, детали и форму, чтобы можно было сделать ставку на объявление. У меня есть одна небольшая проблема с обновлением цены объявления, когда пользователь делает более высокую ставку. Проблема в логике функции listing_view, но я не могу ее обнаружить:

def listing_view(request, listing):
    this_listing = Listing.objects.get(listing_name=listing)
    bid_count = this_listing.bids.count()
    if request.method == "POST":
        form = BidForm(request.POST)
        current_user = request.user
    
        if form.is_valid():
            newest_bid = form.cleaned_data["bid_price"]
            
            if newest_bid >= this_listing.current_price:
                new_bid = Bid(listing=this_listing, bid_price=newest_bid, owner=current_user)
                new_bid.save()
                bid_count += 1
                this_listing.current_price = newest_bid
                this_listing.bids.add(new_bid)
                return HttpResponseRedirect(reverse("auctions:listing_view", kwargs= 
                    {'listing':this_listing.listing_name}))
            else:
                return HttpResponse("Error")
    else:
        return render(request, "auctions/listing.html", {
        "listing": this_listing,
        "form": BidForm,
        "count": bid_count
        })

Если вам нужно определение модели листинга и предложения, я могу предоставить их, но я считаю, что проблема в логике listing_view.

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