2016-11-25 34 views
2

我需要使用python過濾數據,然後將結果(過濾對象的列表)像這樣返回到管理頁面。如何在不返回查詢集的情況下過濾Django admin中的數據?

class MyFilter(admin.SimpleListFilter): 

    def queryset(self, request, queryset): 
     if self.value() == 'delayed_orders': 
      filtered_objects = filter(queryset) 
      return filtered_objects 

這可能使用的admin.SimpleListFilter或者我們總是需要返回查詢集?

回答

1

在簡要了解django/contrib/admin/views/main.py(例如ChangeList.get_queryset)之後,很明顯它期望的行爲與查詢集相似。

如果值得冒昧,可以嘗試編寫一個包裝/擴展列表的類,並公開與QuerySet相同的方法,或者查找現有的實現。

相關問題