我正在尝试使用 xhtml2pdf 应用程序保存生成的 PDF。我希望它将 pdf 保存到模型中。pdf 已完美创建,浏览器会下载该文件,但我不想下载,而是将其保存到模型中,在我的 models.py 中,我告诉它保存到媒体文件夹中的文件夹中。
Models.py:
class purchase(models.Model):
purchase_id = models.AutoField(primary_key=True)
transaction_date = models.DateTimeField()
method_payment = models.CharField(max_length = 20)
cmr_name = models.CharField(max_length = 60)
cmr_address = models.CharField(max_length = 90)
cmr_postcode = models.CharField(max_length = 10)
cmr_tel = models.CharField(max_length = 14)
cmr_email = models.CharField(max_length = 40)
cmr_pod = models.FileField(upload_to='customers_id')
cmr_signature = JSignatureField()
receipt = models.FileField(upload_to='receipts', null=True, blank=True)
added_by = models.CharField(max_length = 30)
item_brand = models.CharField(max_length = 50)
product = models.CharField(max_length = 100)
model = models.CharField(max_length = 100)
serial = models.CharField(max_length = 50)
item_brand2 = models.CharField(max_length = 50)
product2 = models.CharField(max_length = 100)
model2 = models.CharField(max_length = 100)
serial2 = models.CharField(max_length = 50)
item_brand3 = models.CharField(max_length = 50)
product3 = models.CharField(max_length = 100)
model3 = models.CharField(max_length = 100)
serial3 = models.CharField(max_length = 50)
def __str__(self):
return '{}'.format(self.cmr_name)
管理和数据库显示没有上传任何内容,我没有收到任何错误。在views.py文件中,这些代码行是我希望用pdf文件更新数据库的代码:
receipt_file = File(BytesIO(pdf.content)) purchase.objects.filter(pk=purch_id).update(receipt=receipt_file)
不幸的是,它没有做任何事情。有人可以帮忙吗?被困在这个有一段时间了。我尝试过在 stackoverflow 和其他网站上看到的其他几个答案。
谢谢,任何帮助将不胜感激。
Edit1:我尝试调用 save() 而不是 update,但是没有什么区别:
receipt_file = File(BytesIO(pdf.content)) purch = purchase.objects.get(pk=purch_id) purch.receipt = receipt_file purch.save()
Edit2:我也尝试了几个版本的内容和 IOString(content) 没有任何结果
Edit3:仍然没有答案,任何 Django 专家可能知道发生了什么事吗?好像是这么简单的事情..
慕后森
相关分类