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