Как могу ли я пройти обратное родовое отношение в шаблоне Django?

У меня есть следующий класс, который я использую для создания закладок:

class BookmarkedItem(models.Model):
     is_bookmarked = models.BooleanField(default=False)
     user = models.ForeignKey(User)
     content_type = models.ForeignKey(ContentType)
     object_id = models.PositiveIntegerField()
     content_object = generic.GenericForeignKey()

И я определяю обратное родовое отношение следующим образом :

class Link(models.Model):
    url = models.URLField()
    bookmarks = generic.GenericRelation(BookmarkedItem)

В одном из моих представлений я генерирую набор запросов для всех ссылок и добавляю это в контекст:

links = Link.objects.all()
context = {
     'links': links
}
return render_to_response('links.html', context)

Проблема, с которой я столкнулся, заключается в том, как пройти через общие отношения в моем шаблоне. Для каждой ссылки я хочу иметь возможность проверить атрибут is_bookmarked и изменить кнопку добавления / удаления закладки в зависимости от того, была ли она добавлена ​​пользователем в закладки или нет. Можно ли это сделать в шаблоне? Или мне нужно выполнить дополнительную фильтрацию в представлении и передать другой набор запросов?

5
задан user569139 9 January 2011 в 21:36
поделиться