【发布时间】:2021-05-12 03:29:06
【问题描述】:
当我尝试生成 csv 文件并保存到模型时,我收到“valueerror: i/o operation on closed file”
class PaymentReport(View):
def post(self, request):
client = self.request.user.client
user = self.request.user
from_date = request.POST.get('from_date')
to_date = request.POST.get('to_date')
with NamedTemporaryFile() as payment_journal:
csv_writer = csv.writer(payment_journal)
csv_writer.writerow( ['Transaction type','Account reference','Nominal code','Department','Transaction Date'])
invoice_report = Invoice.objects.filter(client=client,created_at__range=[from_date, to_date],is_self_invoice=True)
for row in invoice_report:
transaction_type ='Purchase Payment'
account_reference = '1300'
nominal_code ='1200'
department = 'Forest'
date = row.created_at.date()
csv_writer.writerow([transaction_type,account_reference,nominal_code,department,date])
payment = PaymentDownload.objects.create(client=client,csv_file=File(payment_journal,'payment_download.csv'))
payment.save()
return redirect(reverse('worker:report_list'))
这里如何将我的 csv 文件保存到 PaymentDownload 表,以便我以后可以下载它并且我的 aws 存储桶是私有的
【问题讨论】:
标签: python-2.7 django-models django-views django-templates