【发布时间】:2021-12-13 11:34:48
【问题描述】:
嘿嘿!
我想将我的数据下载为 csv 文件。 我的问题是我无法在下载的 csv 中应用我的过滤器,它总是会给我整个列表。
我尝试连接这两个功能,但它没有按预期工作。但它们都各自运行良好。
有人知道如何实现吗?或者知道我做错了什么?
任何帮助表示赞赏! :)
# views.py
def download_csv(request):
institutions = Institution.objects.all()
filter = InstitutionFilter(request.GET, queryset=institutions).qs
response = HttpResponse(content_type='text/csv')
response['Content-Disposition'] = 'attachment; filename="institutions.csv"'
writer = csv.writer(response)
writer.writerow(['Name', "Abbreviation", "Parent Institution", "Phone Number"])
for institution in filter.values_list('name', 'abbreviation', 'parent_institution__name', 'contact_details'):
writer.writerow(institution)
return response
# filters.py
class InstitutionFilter(django_filters.FilterSet):
name = CharFilter(field_name="name", lookup_expr="icontains")
class Meta:
model = Institution
fields = "__all__"
【问题讨论】:
标签: django django-views django-templates export-to-csv django-filters