python – 如何编写填充了我的sqlite3 db的CSV文件?
发布时间:2020-12-20 13:29:46 所属栏目:Python 来源:网络整理
导读:我对如何使用models.py中给定用户的信息填充以下csv函数感到困惑.谁能指出我正确的方向?我是否需要在separare py文件中处理信息,还是可以在我的视图中进行处理? 我的观点是下载信息 def download(request): response = HttpResponse(mimetype='text/csv')
我对如何使用models.py中给定用户的信息填充以下csv函数感到困惑.谁能指出我正确的方向?我是否需要在separare py文件中处理信息,还是可以在我的视图中进行处理?
我的观点是下载信息 def download(request): response = HttpResponse(mimetype='text/csv') response['Content-Disposition'] = 'attachment; filename=UserData.csv' writer = csv.writer(response) writer.writerow(['Date','HighBGL','LowBGL','Diet','Weight','Height','Etc']) writer.writerow(['Info pertaining to date 1']) writer.writerow(['info pertaining to date 2']) return response 其中一个模型的信息我对保存很有意思 class DailyVital(models.Model): user = models.ForeignKey(User) entered_at = models.DateTimeField() high_BGL = models.IntegerField() low_BGL = models.IntegerField() height = models.IntegerField(blank = True,null = True) weight = models.IntegerField(blank = True,null = True) 解决方法
首先,您需要查询您的django模型,例如:DailyVital.objects.all()或DailyVital.objects.filter(user = request.user)
然后你可以手动将对象转换为元组,或者你可以使用带有字段名列表的Django QuerySet的 def download(request): response = HttpResponse(mimetype='text/csv') response['Content-Disposition'] = 'attachment; filename=UserData.csv' writer = csv.writer(response) writer.writerow(['Date','Height']) query = DailyVital.objects.filter(user=request.user) for row in query.values_list('entered_at','high_BGL','low_BGL','weight','height'): writer.writerow(row) return response 如果你在Django中不需要它,你也可以考虑使用sqlite3命令行程序的-csv选项. (编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |