Django模型中的“blob”字段

2 投票
3 回答
5199 浏览
提问于 2025-04-16 15:16

我想创建一个这样的表 -

创建表 trial_xml (
id 整数(11) 默认值为NULL,
pid 整数(11) 默认值为NULL,
sid 字符串(256) 字符集为utf8 不允许为空,
data 二进制大对象,
主键 (soid), 索引 suid_index (suid) ) 引擎=MyISAM 默认字符集=latin1

我的问题是,如何在django的models.py中把"data"字段设置为"blob"类型呢?

我想知道具体的语法是什么?

更新:我不想把data字段设置为longtext。我只想要blob数据字段。

3 个回答

1

说实话,Django现在有了一个正式的BinaryField(二进制字段)。这个功能是在2012年12月13日加入的。

你可以在这里查看相关的更新记录

有关这个功能的详细说明可以在这里找到:点击这里查看文档

2

我一直在使用这个简单的字段来连接'mysql'数据库,你可以根据需要修改它来适应其他类型的数据库。

class BlobField(models.Field):
    description = "Blob"
    def db_type(self):
        return 'blob'
1

Django的ORM(对象关系映射)没有专门用来处理大文件的字段。如果你想存储大文件,可以使用像FileField这样的字段,或者你可以通过搜索引擎查找其他合适的字段类。

撰写回答