我有一个自定义过滤器,它通过指定的字符连接项目数组。例如,它将转向:
在视图中:
test_array = ['one', 'two', 'three', 'four']
在模板中:
{{ test_array |joinby:"," }}
输出:
one, two, three, four
我需要将相同的过滤器应用于模型中相关项的查询集。到目前为止我试过这个:
{{ user.related_model.all.name|joinby:"," }}
然而它什么也没有返回。让这种类型的查询起作用的最佳方法是什么?
答案 0 :(得分:1)
您可能希望保持模板清洁,并创建过滤器,或在视图中处理此过滤器。
在视图中:
def my_view(request):
#blah
user_followers = request.user.related_model.values_list('name', flat=True)
并在模板中
{{ user_followers | joinby: "," }}
或者
注册过滤器
@register.filter(name='related_names')
def get_related_names(user):
user_followers = user.related_model.values_list('name', flat=True)
return ", ".join(user_followers)
并在模板中:
{% related_names %}