我有一个问题,我无法在任何地方找到符合我需要的解决方案。
当我点击一个按钮时,我有这个 AJAX 调用:
$.ajax({
type: 'POST',
url: '{% url "tests" %}',
traditional: true,
data : {'mydata': list,"excel": "" },
success: function (data, textStatus) {
//Test
},
error: function(XMLHttpRequest, textStatus, errorThrown) {
alert("some error " + String(errorThrown) + String(textStatus) + String(XMLHttpRequest.responseText));
}
});
Run Code Online (Sandbox Code Playgroud)
在 views.py 中:
if request.method == "POST" and request.is_ajax():
if 'excel' in request.POST:
data = request.POST.getlist('mydata')
if data:
tests = Test.objects.filter(pk__in=data)
response = HttpResponse(content_type='application/vnd.ms-excel')
response['Content-Disposition'] = 'attachment; filename=Test.xlsx'
xlsx_data = WriteToExcelTests(tests)
response.write(xlsx_data)
return response
Run Code Online (Sandbox Code Playgroud)
如果我不使用 AJAX(因为我有另一个不使用 AJAX …
我有一个python脚本,使fetchall():
connection = pymssql.connect(host='host', user='user', password='pw', database='database', as_dict=True)
cursor = connection.cursor()
cursor.execute("EXEC SPname")
data=cursor.fetchall()
Run Code Online (Sandbox Code Playgroud)
我的问题是cursor.fetchall()返回True或Falses(以及其他列的其他值,例如上面的例子),但在数据库中,值是1或0,当导出为CSV时,它会输入True或False想要1或0.
SQL中返回的示例数据:
ID Price Price2 Price3 Active Opened Sent Enable
1 12234.09 1111.09 3444.36 1 1 1 0
Run Code Online (Sandbox Code Playgroud)