【问题标题】:Django models "blob" fieldDjango 模拟“blob”字段
【发布时间】:2011-07-31 16:31:24
【问题描述】:

我想创建一个这样的表 -

创建表 trial_xml (
id int(11) 默认为 NULL,
pid int(11) 默认为 NULL,
sid varchar(256) 字符集 utf8 不为空,
data blob,
主键 (soid), 键suid_index (suid) ) ENGINE=MyISAM 默认字符集=latin1

我的问题是如何在 django 的 models.py 中将 "data" 字段设置为 "blob" ??

我的意思是语法是什么?

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

【问题讨论】:

    标签: python mysql django django-models django-blob


    【解决方案1】:

    我一直将这个简单的字段用于'mysql'后端,你可以为其他后端修改它

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

    【讨论】:

    【解决方案2】:

    Django 的 ORM 没有二进制大对象的字段。要么使用FileField 之类的名称,要么使用搜索引擎搜索候选字段类。

    【讨论】:

      【解决方案3】:

      不管怎样,Django 现在有了一个合适的 BinaryField。它于 2012 年 12 月 13 日添加。

      https://github.com/django/django/commit/8ee1eddb7e148de89aebde9e68da495633fc1ec9

      相关文档可在此处获得:https://docs.djangoproject.com/en/1.8/ref/models/fields/#binaryfield

      【讨论】:

        猜你喜欢
        • 2011-06-22
        • 2011-10-27
        • 2022-01-23
        • 2020-02-08
        • 2010-10-10
        • 1970-01-01
        • 2012-05-13
        • 2012-06-28
        • 2014-07-01
        相关资源
        最近更新 更多