0

我正在使用 oracle 遗留数据库,需要读取和写入二进制数据(png 图像和 MDL Molfiles)。Django 的 inspectdb 命令为这些列生成了文本字段,说这只是一个猜测。现在,当我试图从此类字段中检索一个值时,我得到:DjangoUnicodeDecodeError: 'utf8' codec can't decode byte 0x89 in position 0: invalid start byte。错误。

有没有办法读写这些列?任何帮助,将不胜感激。

4

1 回答 1

0
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)
于 2012-11-26T11:51:59.643 回答