2016-11-25 4 views
2

私はpythonを使ってデータをフィルタリングし、結果(フィルタリングされたオブジェクトのリスト)をこのように管理ページに返す必要があります。クエリーセットを返さずにDjango管理者のデータをフィルタリングする方法は?

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と同じメソッドを公開するか、既存の実装を探してみてください。

関連する問題