Не удается удалить и добавить списки наблюдения на сайте электронной коммерции
Когда я нажимаю на кнопки 'Remove watchlist' или 'Add watchlist', список становится пустым, но он не удаляется и не добавляется в мои модели и не перенаправляется на url, который я написал. Я думаю, что что-то не так в функции watchlist, но не знаю что.
def listing(request, listing_id):
listing = Listing.objects.get(pk=listing_id)
watchlist = Watchlist.objects.filter(listing=listing_id, user=User.objects.get(id=request.user.id)).first()
if watchlist is not None:
on_watchlist = True
else:
on_watchlist = False
if request.user.is_authenticated:
bids = Bid.objects.filter(listing=listing)
max_bid = bids[0].bid
for bid in bids:
if bid.bid > max_bid:
max_bid = bid.bid
if listing.price > max_bid:
max_bid = listing.price
return render(request, "auctions/listing.html", {
"listing": listing,
"on_watchlist": on_watchlist,
"bids": bids,
"max_bid": max_bid
})
def watchlist(request):
if request.method == "POST":
listing_id = request.POST.get(int("listing_id"))
listing = Listing.objects.get(pk=listing_id)
user = User.objects.get(id=request.user.id)
if request.POST.get("remove") == "True":
watchlist_delete = Watchlist.objects.filter(user=user, listing=listing).first()
watchlist_delete.delete()
else:
watchlist_add = Watchlist(user=user, listing=listing)
watchlist_add.save()
return HttpResponseRedirect(reverse('listing_id', args=(listing_id,)))
Это HTML-форма:
<form action="{% url 'watchlist' %}" action="POST">
{% csrf_token %}
{% if on_watchlist %}
<input type="submit" value="Remove from watchlist">
<input type="hidden" name="remove" value="True">
{% else %}
<input type="submit" value="Add to watchlist">
<input type="hidden" name="add" value="False">
{% endif %}
<input type="hidden" name="listing_id" value="{{ listing.id }}">
</form>