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.