我在模板中制作了两个简单的模型和一个简单的查看功能,用于按歌手访问专辑。到目前为止,我只看到艺术家的姓氏。
我尝试通过 {%object_list.album_set.all%}中的相册访问相册模型,但没有任何反应,我想我有什么事。我在网上搜索以帮助自己,但大多数教程仅在pyhton shell中显示django示例。有人提到还要给带有FKey的模型一个related_name,所以我以一个数据字段命名它。
每一个提示,谢谢
models.py
class Person(models.Model):
first_name = models.CharField(max_length=30)
last_name = models.CharField(max_length=30)
person_pic = models.ImageField(upload_to='artist/', max_length=255, null=True, blank=True )
def __str__(self):
return "{} - {}".format(self.car[:25], self.color[:25])
class Album(models.Model):
albumname = models.CharField(max_length=255)
artistkey = models.ForeignKey(Person, on_delete=models.CASCADE, null=True, related_name="albumname")
def __str__(self):
return self.albumname
views.py
def artist_page(request):
object_list = Person.objects.all()
context = {'object_list': object_list}
return render(request, 'aquaman/aquaforkey.html', context)
aquaforkey.html
{% block content %}
<h1>HELLO</h1>
{% for artist in object_list %}
<h1> {{ artist.last_name }}</h1>
{% for album in object_list.album_set.all %}
{{ album.albumname }}
{% endfor %}
{% endfor %}
{% endblock %}
答案 0 :(得分:4)
这里有几个问题。该项目是artist
,而不是object_list
。并且您已将related_name设置为albumname
。
{% for album in artist.albumname.all %}
(顺便说一下,那些告诉您更改related_name的帖子是错误。只有在您有充分理由的情况下才进行更改。)