我想使用SQL Server Filestream功能来存储来自Django应用程序的文件(主要是大图像)。目前我正在使用Django -mssql作为我的Django项目的数据库后端。我不认为在这个包中有任何现有的模型字段链接到SQL Server中的Filestream列。
使用Django的文件流特性的最好方法是什么?有现有的软件包吗?或者我需要实现我自己的自定义模型字段,继承Django的内置字段(FileField或BinaryField) ?
谢谢!
以防有人对使用SQL Server Filestream功能感兴趣,并在这里结束,我开始研究自定义django字段来支持Filestream:一个FileStreamDataField
映射到varbinary(max) FILESTREAM
类型,一个FileStreamField
是一个虚拟字段,包装win32流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它在我的用例中工作得很好,但肯定是不完整的。