我一直致力于我的一个项目,在其功能之一中,我们从数据库中检索数据并将其写入 Blob 实例,并使其可供用户下载。但是,由于数据非常大,如 .JSON 文件中的15k +页面,8000000字。给出了我将数据写入该文件的代码片段。请建议任何其他优雅和快速的方式,因为这需要花费太多时间,并且还会冻结机器一段时间。
function bulk_download_json(label_id) {
$.msg({
//autoUnblock : false,
clickUnblock : false,
beforeUnblock: function() {
$.ajax({
type: "GET",
url: "/initiate_download/?label=" + label_id,
success: function(data) {
var bulk_mails = data;
bulk_download_filename = label_id.concat(".json");
var bulk_json_file = JSON.stringify(bulk_mails);
var a = window.document.createElement('a');
a.href = window.URL.createObjectURL(new Blob([bulk_json_file], {
type: 'text/json'
}));
a.download = bulk_download_filename;
// Append anchor to body.
document.body.appendChild(a)
a.click();
// Remove anchor from body
document.body.removeChild(a)
remove_bulk_data(label_id);
}
});
//self.unblock();
}
});
}
答案 0 :(得分:0)
你可以使用分页来传递page_no并限制所提取的记录
[推荐] https://docs.djangoproject.com/en/1.8/topics/pagination/