从Django / Graphql导出CSV

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

我找到了,并按照说明进行操作:https://docs.djangoproject.com/en/2.2/howto/outputting-csv/

但是,我正在使用graphql和graphene。上面的说明没有说明应以哪种格式返回输出。当我返回纯文本String时,我得到的仅仅是"<HttpResponse status_code=200,\"text/csv\">"

代码示例:

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

非常感谢任何帮助或指针...

zjm550 回答:从Django / Graphql导出CSV

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

response['Content-Disposition'] = 'attachment; filename="yourfilename.csv"'
本文链接:https://www.f2er.com/3114052.html

大家都在问