使用django-mssql连接SQL Server Filestream

3
我想使用SQL Server的Filestream功能来存储Django应用程序中的文件(主要是大型图片)。目前,我正在使用django-mssql作为我的Django项目的数据库后端。我不认为该包中存在任何已有的模型字段与SQL Server中的Filestream列相关联。
如何最好地从Django使用filestream功能?是否有任何现有的软件包?还是我需要自己实现自定义模型字段,继承自Django的内置字段(FileField或BinaryField)?
谢谢!
1个回答

2

如果有其他人对使用SQL Server Filestream功能感兴趣并且到达这里,请注意,我开始着手开发自定义的Django字段以支持Filestream:一个映射到varbinary(max) FILESTREAM类型的FileStreamDataField和一个虚拟字段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。它在我的使用情况下运行良好,但肯定还有不完善的地方。欢迎贡献!

哇,谢谢你,你刚刚节省了我几个月的头痛! - alexislg

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接