【问题标题】:SQL Server Filestream with django-mssql带有 django-mssql 的 SQL Server 文件流
【发布时间】:2015-10-18 22:09:39
【问题描述】:
我想使用 SQL Server 文件流功能来存储来自 Django 应用程序的文件(主要是大图像)。
目前我正在使用 django-mssql 作为我的 Django 项目的数据库后端。我认为该包中没有任何现有模型字段链接到 SQL Server 中的 Filestream 列。
使用 Django 的文件流功能的最佳方式是什么?有没有现成的包?还是我需要实现我自己的自定义模型字段,继承自 Django 的内置字段(FileField 或 BinaryField)?
谢谢!
【问题讨论】:
标签:
sql-server
django
django-models
sqlfilestream
django-mssql
【解决方案1】:
以防万一其他人对使用 SQL Server Filestream 功能感兴趣,并在这里结束,我开始研究自定义 django 字段以支持 Filestream:一个映射到 varbinary(max) FILESTREAM 类型的 FileStreamDataField 和一个 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
它适用于我的用例,但肯定不完整。
欢迎投稿!