在django中提供处理数据库二进制数据方法的通用应用程序
django-binaryfield的Python项目详细描述
在django中提供处理数据库二进制数据的方法的通用应用程序。
简介
这完全是对django 1.6+源代码中的binaryfield类的剽窃,并进行了一些调整,使其在django1.4+下工作。
安装
pip install django-binaryfield
用法
使用binaryfield在django模型上绑定二进制数据库列。喜欢这样:
from binaryfield import BinaryField class ExampleModel(models.Model): short_data = BinaryField(max_length=10, default=b'\x08') data = BinaryField()
配置
同步数据库
Django binaryfield用现有的二进制数据库列在框中工作,这些二进制列在模型中被正确映射。 如果希望binaryfield使用syncdb管理命令 有一个设置叫做BINARYFIELD_HACK_ENGINES 可用于hackdjango数据库后端。像这样使用:
BINARYFIELD_HACK_ENGINES = ( 'django.db.backends.sqlite3', )
这是一个django后端列表(作为一个“可导入”字符串),为了syncdb能够正常工作,需要对其进行处理。 我有没有提到它是一个hack?
Oracle问题
在django<;1.6中处理查询中的参数时,oracle存在一些问题。 你可以看到这个链接(https://github.com/django/django/commit/8aefd30379eba9aa7e5afcc69cc352adf0d23489) 查看django.db.backends.oracle.base.oracleparam类中关于此功能的更改。
有两种设置可控制此问题的修复:
- BINARYFIELD_HACK_ORACLE_PARAM-确定是否应用修复-默认值:False
- BINARYFIELD_HACK_ORACLE_PARAM_BACKENDS-后端引擎的iterable,作为“可导入”字符串来应用修复程序。-默认值:[ settings.DATABASES['default']['ENGINE'] ]
待办事项
- 可能还要做些测试?
- 显示如何从数据库提供文件的示例视图