python django 如何在模板中按当前用户过滤 object_set.all
我在使用Django的时候遇到了问题,想跟大家解释一下。我的需求是要显示当前用户对书架上书籍的评分。
谢谢大家!
1 个回答
2
在模板中,有一种方法可以做到这一点,那就是定义一个自定义过滤器。这个自定义过滤器可以接受一个查询集和当前登录的用户作为参数,然后进行必要的过滤。
@register.filter
def filter_by_user(queryset, user):
"""Filter the queryset by (currently logged in) user"""
return queryset.filter(added_by = user)
然后在模板中使用:
<td>{{ book.rating_set.all|filter_by_user:user|safeseq|join:", " }}</td>