Я хочу добавить функцию для загрузки отфильтрованных данных на странице администратора в виде файла 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 подавит проверки, который выбран ничего. Код, указанный выше, не будет загружать данные, так как запрос остается пустым. Я знаю, что могу реализовать фильтр в моем методе download_csv, используя параметры POST, но это высокий уровень обслуживания, поскольку в любое время, когда я хочу добавить фильтр, мне нужно его обновить. Есть ли более простой способ выбрать все отфильтрованные данные?
Я знаю, но я создаю интерфейс для нетехнических людей, которые не могут понять это :) – max