У объекта 'function' нет атрибута 'listings'

Я пытаюсь создать сайт электронной коммерции (CS50 Project 2), который позволяет пользователю добавлять и удалять элементы листинга в свой список наблюдения. При попытке добавить листинг, который является моделью, в модель списка наблюдения я получаю эту ошибку: 'function' object has no attribute 'listings', которая соответствует этой строке кода в моем views.py: new_watchlist_listing = watchlist.listings.add(listings).

Пользователь может добавить элемент объявления в свой список наблюдения через форму Django с булевым полем, и мне нужна помощь, чтобы сделать это поле истинным после того, как пользователь добавил объявление в свой список наблюдения (я хочу, чтобы флажок, который видит пользователь, был отмечен, чтобы он мог потенциально удалить объявление из своего списка наблюдения).

views.py

def listing(request, id):
    #gets listing
    listing = Listings.objects.get(id=id)
   
    watchlist_form = WatchListForm()

     #checks if request method is post for all the forms
    if request.method == "POST":
        watchlist_form = WatchListForm(request.POST)

        #checks if watchlist form is valid
        if watchlist_form.is_valid():
            new_watchlist_listing = watchlist.listings.add(listings)
            WatchList.add_to_watchlist = True
            return render(request, "auctions/listing.html",{
                "auction_listing": listing,
                "watchlistForm": watchlist_form
            })

        else:
            return render(request, "auctions/listing.html",{
                "auction_listing": listing,
                "watchlistForm": watchlist_form
            })
    return render(request, "auctions/listing.html",{
        "auction_listing": listing,
        "watchlistForm": watchlist_form
    })

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):
    listings = models.ManyToManyField(Listings)
    user = models.ForeignKey(User, on_delete=models.CASCADE, default="")
    add_to_watchlist = models.BooleanField(default=False)

forms.py

lass WatchListForm(forms.ModelForm):
    class Meta:
        model = WatchList
        fields = ['add_to_watchlist']

Сообщение об ошибке, которое я получаю

new_watchlist_listing = watchlist.listings.add(listings)
AttributeError: 'function' object has no attribute 'listings'
Вернуться на верх