1
我想添加一个功能,将管理页面上的过滤数据作为csv文件下载。 我想要实现的目的是能够下载过滤的数据,而不必选择它们,因为选择多页数据是非常棘手的。django 1.8管理员操作 - 如何自动选择所有
这里是我的代码:
def download_csv(modeladmin, request, queryset):
for obj in queryset:
# write to the response...
@admin.register(MyTable)
class MyTableAdmin(admin.ModelAdmin):
actions = (download_csv,)
download_csv.short_description = 'Download as csv'
def changelist_view(self, request, extra_context=None):
post = request.POST.copy()
if admin.helpers.ACTION_CHECKBOX_NAME not in post:
post.update({admin.helpers.ACTION_CHECKBOX_NAME:None})
request._set_post(post)
return super(VariantAdmin, self).changelist_view(request, extra_context)
的changelist_view代码将抑制任何选定的验证。 由于queryset为空,上面的代码将不下载数据。 我知道我可以使用POST参数在我的download_csv方法中实现过滤器,但是这是高维护,因为任何时候我想添加一个过滤器,我必须更新它。 有没有更简单的方法来选择所有过滤的数据?
我知道,但我正在为非技术人员的接口谁不能弄清楚:) – max