【发布时间】:2018-02-24 20:30:55
【问题描述】:
我在 Django 中定义了两个简单的模型...一个包含专辑名称,另一个包含专辑和用户的链接。
class Album(models.Model):
name = models.CharField(max_length=255)
class UserAlbum
category = models.ForeignKey(Album, on_delete=models.CASCADE)
author = models.ForeignKey(
settings.AUTH_USER_MODEL,
on_delete=models.CASCADE,
)
在我看来,我得到了所有专辑的列表,并检查了用户拥有哪些专辑:
albums = Album.objects.order_by('name')
my_albums = UserAlbum.objects.filter(user_id=request.user.id)
这一切都很好。但是,我现在需要在线显示包含专辑的列表,如果用户拥有专辑,应该会出现一个小图标。我不知道该怎么做。这就是我所拥有的:
<ul>
{% for info in albums %}
<li>{{ info.name %} {% if SOME_CONDITION %} <span class="owner"></span>{% endif %}</li>
{% endif %}
我不确定如何制定 SOME_CONDITION。它基本上应该说:如果这张专辑 id 也在 my_albums 列表中。但是我该怎么做呢?
【问题讨论】:
-
my_album 列表中的对象属于模型 UserAlbum,专辑列表中的对象属于模型 Album。他们的 id 永远不会匹配:/