从Django/Graphql导出CSV

从Django/Graphql导出CSV,django,graphql,export-to-csv,Django,Graphql,Export To Csv,我需要生成一个csv文件/数据,并将其从数据库数据输出到前端 我找到了这个,并按照说明进行了操作: 然而,我使用的是graphql和graphene。上面的说明没有说明应该以什么格式返回输出。当我返回纯String时,返回的是“ 代码示例: class Query: users_csv = graphene.String() ... @classmethod @login_required def resolve_users_csv(cls, obj,

我需要生成一个csv文件/数据,并将其从数据库数据输出到前端

我找到了这个,并按照说明进行了操作:

然而,我使用的是graphql和graphene。上面的说明没有说明应该以什么格式返回输出。当我返回纯
String
时,返回的是

代码示例:

class Query:
    users_csv = graphene.String()
    ...

    @classmethod
    @login_required
    def resolve_users_csv(cls, obj, info):
        response = HttpResponse(content_type="text/csv")
        writer = csv.writer(response)

        header = [
            "EmployeeEmail",
            "TeamMemberName",
            "PhoneNumber",
            "MobileNumber",
            "IsAdmin",
        ]
        content = []
        for u in User.objects.filter(customer=info.context.user.customer):
            content.append(
                [
                    str(u.email) if u.email else "",
                    str(u.get_full_name()),
                    str(u.phone_number) if u.phone_number else "",
                    str(u.mobile_number) if u.mobile_number else "",
                    str(u.is_admin),
                ]
            )

        writer.writerow(header)
        writer.writerows(content)
        return response

非常感谢您的帮助或指点…

您也需要返回文件,即csv。下面的行将使其可下载

response['Content-Disposition'] = 'attachment; filename="yourfilename.csv"'

此处解决:这是否回答了您的问题?