我想使用SQL Server Filestream功能来存储Django应用程序中的文件(主要是大图像)。 目前我使用django-mssql作为我的Django项目的数据库后端。我不认为该软件包中存在任何链接到SQL Server中的Filestream列的模型字段。
使用Django的文件流功能的最佳方法是什么?有现成的套餐吗?或者我是否需要实现自己的自定义模型字段,继承自Django的内置字段(FileField或BinaryField)?
谢谢!
答案 0 :(得分:1)
为了防止其他人对使用SQL Server文件流功能感兴趣,并在此结束,我开始使用自定义django字段来支持文件流:FileStreamDataField
映射到varbinary(max) FILESTREAM
类型和一个FileStreamField
,它是一个包装win32 Streaming API的虚拟字段。
import uuid
from django.db import models
from sql_filestream import FileStreamDataField, FileStreamField, UUIDField
class DocumentModel(models.Model):
doc_id = UUIDField(default=uuid.uuid4)
doc_content = FileStreamDataField(identifier_field='doc_id', null=True, blank=True)
document = FileStreamField('doc_id', 'doc_content')
您可以在此处找到示例:https://github.com/rparent/django-mssql-filestream 它适用于我的用例,但肯定是不完整的。 欢迎捐款!