Как получить определенное поле в другой модели django?
Я хочу иметь возможность получить определенное поле в модели django, на которое ссылаются через foreignkey. Вот мой файл views.py:
def add_watchlist(request, name):
stuff = Watchlist()
thing = listing.objects.get(title = name)
id = thing.id
stuff.listing_id = id
stuff.user = request.user
stuff.save()
things=Watchlist.objects.filter(user = request.user)
return render(request, "auctions/watchlist.html",{
"items":things
})
Вот мой models.py:
class User(AbstractUser):
pass
def __str__(self):
return f"Cool kid {self.username}"
class listing(models.Model):
creator=models.ForeignKey(User, on_delete=models.CASCADE, related_name="owner")
price=models.IntegerField()
title=models.CharField(max_length=64)
description=models.CharField(max_length=2056)
src=models.CharField(max_length=1024, blank=True)
def __str__(self):
return f"{self.title} goes for a price of {self.price}, put forth by {self.creator} and here's the description: {self.description}"
class bid(models.Model):
user=models.ForeignKey(User, on_delete=models.CASCADE, related_name="bidder")
price=models.IntegerField()
def __str__(self):
return f"{self.user} bid {self.price}"
class comment(models.Model):
title=models.CharField(max_length=64)
user=models.ForeignKey
class Watchlist(models.Model):
user=models.ForeignKey(User, on_delete=models.CASCADE, related_name="user")
listing=models.ForeignKey(listing, on_delete=models.CASCADE, related_name="listing")
def __str__(self):
return f"{self.user} adds {self.listing.title} to the watchlist"
Я надеюсь, что смогу найти название модели листинга и отобразить его через html на watchlist. Пока что я смог отобразить только всю модель листинга. Вот мой watchlist.html:
{% extends "auctions/layout.html" %}
{% block body %}
<h2>Watchlist</h2>
{% for item in items %}
<ul>
{{item.listing}}
</ul>
{%endfor%}
TODO
{% endblock %}
{{item.listing.title}} - это то, что я хочу, но это не работает. Я новичок в django и открыт для критики, комментариев и разъяснений.