TypeError: cannot unpack non-iterable function object while using get() in Django
У меня есть модель WatchList с объектом Listing, который соответствует модели Listings. Я хочу сделать страницу, на которой будут отображаться все объявления, которые пользователь добавил в свой WatchList. Я пытаюсь фильтровать объекты WatchList через пользователя и получить доступ к объекту listing, чтобы получить все объекты из этого конкретного списка (их может быть несколько).
views.py
def watchlist(request):
watchlists = WatchList.objects.filter(user=request.user)
watchlist_listing = watchlists.get(listing)
listings = Listings.objects.all().filter(watchlist_listing)
return render(request, "auctions/watchlist.html",{
"listings": listings
})
models.py
class Listings(models.Model):
CATEGORY = [
("Miscellaneous", "Miscellaneous"),
("Movies and Television", "Movies and Television"),
("Sports", "Sports"),
("Arts and Crafts", "Arts and Crafts"),
("Clothing", "Clothing"),
("Books", "Books"),
]
title = models.CharField(max_length=64)
description = models.CharField(max_length=500)
bid = models.DecimalField(max_digits=1000000000000, decimal_places=2)
image = models.URLField(null=True, blank=True)
category = models.CharField(max_length=64, choices=CATEGORY, default=None)
user = models.ForeignKey(User, on_delete=models.CASCADE, default="")
class WatchList(models.Model):
listing = models.ForeignKey(Listings, on_delete=models.CASCADE, default="")
user = models.ForeignKey(User, on_delete=models.CASCADE, default="")
сообщение об ошибке
TypeError: cannot unpack non-iterable function object
Эта ошибка вызвана этой строкой watchlist_listing = watchlists.get(listing)
.
Но если я изменяю код на watchlist_listing = watchlists.get('listing')
, то возникает ошибка too many values to unpack (expected 2)
. Как мне исправить это и получить доступ к объекту листинга?