回答

1

允許您配置過濾器的interresting外部應用程序是django-filter。實際上它比django admin list_filter更強大。

Django-filter是一個可重複使用的Django應用程序,允許用戶動態地過濾查詢集。它需要Python 2.4或更高版本。有關 的使用和安裝說明,請參閱docs目錄。

Django過濾器可用於生成類似於 Django admin的list_filter接口的接口。它有一個非常類似於Django的ModelForms的API 。例如,如果你有一個產品型號 你可以有一個filterset它與代碼:

import django_filters 

class ProductFilterSet(django_filters.FilterSet): 
    class Meta: 
     model = Product 
     fields = ['name', 'price', 'manufacturer'] 

然後在你看來,你可以這樣做:

def product_list(request): 
    filterset = ProductFilterSet(request.GET or None) 
    return render_to_response('product/product_list.html', 
     {'filterset': filterset}) 

有關更多信息,請參閱docs目錄。

在幕後有一個非常好的API,所以它真的很有趣。

+0

這實際上似乎是一個很好的解決方案!我會嘗試一下。謝謝! – JohnnyCash 2012-03-13 16:52:17

相關問題