我正在使用 oracle 遗留数据库,需要读取和写入二进制数据(png 图像和 MDL Molfiles)。Django 的 inspectdb 命令为这些列生成了文本字段,说这只是一个猜测。现在,当我试图从此类字段中检索一个值时,我得到:DjangoUnicodeDecodeError: 'utf8' codec can't decode byte 0x89 in position 0: invalid start byte。错误。
有没有办法读写这些列?任何帮助,将不胜感激。
我正在使用 oracle 遗留数据库,需要读取和写入二进制数据(png 图像和 MDL Molfiles)。Django 的 inspectdb 命令为这些列生成了文本字段,说这只是一个猜测。现在,当我试图从此类字段中检索一个值时,我得到:DjangoUnicodeDecodeError: 'utf8' codec can't decode byte 0x89 in position 0: invalid start byte。错误。
有没有办法读写这些列?任何帮助,将不胜感激。
class BlobField(models.TextField):
description = "Stores raw binary data"
__metaclass__ = models.SubfieldBase
def __init__(self, *args, **kwds):
kwds = _adjust_keywords(kwds)
super(BlobField, self).__init__(*args, **kwds)
def get_internal_type(self):
return "BlobField"
def get_db_prep_value(self, value, connection=None, prepared=False):
return value
def to_python(self, value):
return Blob(value)