2011-06-29 34 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

那麼,你需要將結果保存在一個變量中,並遍歷它,建立你的鏈接。不要硬編碼過濾器中的鏈接。

相關問題