最近有一个需求是关于在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)