这是我的过滤器:
@register.filter
def filter_by_user(queryset, user):
"""Filter the queryset by (currently logged in) user"""
return queryset.filter(accountowner=user)
这是我的模板:
<td>{{ object_list.all|filter_by_user:user|safeseq|join:". " }}</td>
这是输出:
ACB test 5.0 55.0. ACB test 14.0 144.0
这是我宁愿拥有的
1. ACB test 5.0 55.0 Edit Delete
2. ACB test 14.0 144.0 Edit Delete
答案 0 :(得分:1)
使用unordered_list
而不是join
- 尽管名称如此,如果您将其包装在<ol>...</ol>
标签中,它将是一个有序列表。
但是,您应该在视图中执行此操作。
修改强>
实际上,这是一个更好的解决方案:
<ol>
{% for obj in object_list.all|filter_by_user:user %}
<li>{{ obj }} <a href="{% url edit_object obj.id %}">Edit</a> <a href="{% url delete_object obj.id %}"Delete</a></li>
{% endfor %}
</ol>
当然,这取决于您在urlconf中有edit_object
和delete_object
个网址。
答案 1 :(得分:0)
那么,您需要将结果保存在变量中,然后遍历它,构建链接。不要对过滤器中的链接进行硬编码。