【发布时间】:2020-03-08 16:05:26
【问题描述】:
我需要从我的数据库数据生成一个 csv 文件/数据并将其输出到我的前端。
我找到了这个并按照说明操作:https://docs.djangoproject.com/en/2.2/howto/outputting-csv/
但是,我使用的是 graphql 和石墨烯。上面的说明没有说明应该以什么格式返回输出。当我返回普通的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
非常感谢任何帮助或指点...
【问题讨论】:
标签: django graphql export-to-csv