Как перенаправить на другое представление с аргументами и 'cannot unpack non-iterable Listing object' django

По сути, я пытаюсь сделать следующее: позволить пользователю удалять свои собственные комментарии и просто обновлять страницу со всеми данными этой страницы, загруженными из моего представления 'view'. Однако я не уверен в том, как лучше всего это сделать, поскольку моя функция представления имеет несколько переменных в своем контексте, к которым я не могу получить доступ из моего представления 'delete_comment'. Также я продолжаю сталкиваться с ошибкой, когда пытаюсь получить доступ к данному листингу через связь внешнего ключа, и получаю ошибку "cannot unpack non-iterable Listing object", несмотря на то, что с каждым комментарием связан свой листинг. Вот все, что связано с тем, чего я пытаюсь достичь.

views.py

def view(request, listing_title):
    listing = Listing.objects.get(title=listing_title)

    # If someone is logged in
    user = request.user
    if user.id != None:
        try:
            watchlist = PersonalWatchList.objects.get(user=request.user)
            watchlist_listings = watchlist.listings.all()
        except:
            watchlist = None
            watchlist_listings = None
        
        return render(request, "auctions/listing.html", {
            "listing": listing,
            "watchlist": watchlist,
            "watchlist_listings": watchlist_listings,
            "comments": Comment.objects.filter(item=listing).order_by('-date_created')
        })
    else:
        return render(request, "auctions/listing.html", {
            "listing": listing,
            "comments": Comment.objects.filter(item=listing).order_by('-date_created')
        })

def delete_comment(request, comment_id):

    comment_details = Comment.objects.get(id=comment_id)
    # item is None? Supposed to be of type 'Listing'
    auction = comment_details.item
    
    listing = Listing.objects.get(auction)
    listing_title = listing.title

    Comment.objects.get(id=comment_id).delete()

    # Need some advice on this line
    return redirect(f'/view/{listing_title}')


Фрагмент urls.py

path("view/<str:listing_title>", views.view, name="view"),
path("delete_comment/<int:comment_id>", views.delete_comment, name="delete_comment")

models.py

class Comment(models.Model):
    comment = models.CharField(max_length=64)
    item = models.ForeignKey('Listing', on_delete=models.CASCADE, null=True)
    user = models.ForeignKey(settings.AUTH_USER_MODEL, on_delete=models.CASCADE)
    date_created = models.DateTimeField(auto_now=True)

    def __str__(self):
        return f"{self.comment}"
Вернуться на верх