2011-06-29 33 views
0

这里返回的结果是我的过滤器:如何逐项/编辑/删除自定义过滤器

@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 

回答

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> 

当然,这依赖于你在你的URL配置edit_objectdelete_object网址。

0

那么,你需要将结果保存在一个变量中,并遍历它,建立你的链接。不要硬编码过滤器中的链接。

相关问题