Django 二进制或 BLOB 模型字段
我有一个C#程序,可以把PDF文件插入到MySQL数据库里。现在我想通过Django来取出这个PDF,但Django的models.FileField
需要一个“上传到”的参数,这意味着它实际上是把文件存储在文件系统里,而不是数据库里。有没有办法让我设置一个Django模型,这样我就可以直接把PDF存储在MySQL里呢?
谢谢!
2 个回答
16
更新一下,从Django 1.6开始,新增了一个叫做BinaryField的选项,可以用来存储大小最多为4GB的文件。你可以在这里了解更多信息:https://docs.djangoproject.com/en/dev/ref/models/fields/#django.db.models.BinaryField
1
我一直在处理同样的问题,就是把一个PDF文件写入MySQL的mediumblob字段,然后通过Django来获取。我把MySQL的字段类型设置成了mediumblob,而Django的字段类型设置成了textfield。我使用了查询集和HTTP响应来在浏览器中查看PDF对象(但不是直接在Django里查看)。