Django admin change_list view 获取筛选后的querry_set对象

最近有一个需求是关于在Django admin 中的change_list界面上,进行数据的导出工作,如导出csv/json/excel等,一般点击导出的时候都是导出根据条件查询后的结果集。

在ModelAdmin类里面有个queryset方法,但该方法不能获取根据条件查询后的结果集,只是该model的所有结果集。为了实现这个,我请教了google大神、查看帮助文档,连源码都看了一遍。

以后总有机会遇到,特此写记下了。

若不喜,请勿喷。

from django.contrib.admin.views.main import ChangeList
        cl = ChangeList(request, 
                        self.model, 
                        self.list_display, 
                        self.list_display_links, 
                        self.list_filter, 
                        self.date_hierarchy, 
                        self.search_fields, 
                        self.list_select_related, 
                        self.list_per_page, 
                        self.list_max_show_all,
                        self.list_editable, 
                        self)
        # getting query set with same filters like current change list
        filtered_query_set = cl.get_query_set(request)        

你可能感兴趣的:(Django)