【发布时间】:2020-06-22 14:16:09
【问题描述】:
Django 版本 1.9.6。 Python 版本:3.4.3
我在我的模型 (flal_file = models.BinaryField()) 中创建了一个二进制字段,用于在数据库中插入二进制数据。
数据库列是 blob 字段。
创建对象(插入)时出现该错误。
注释掉 flal_file 可防止出现此错误。
我不知道为什么会出现这个错误,因为这是一个二进制字段。
这是旧版本 Django 的错误吗?谁能帮我调试一下这个问题?
myfile = request.FILES['uploaded_file']
b = DocFileAllocation.objects.using('db_test_').create(
flal_file=myfile.read(), #binary data
flal_id_no=seq_doc_file,
bmeta_id_no=seq_metadata,
flal_file_subject=subject,
)
b.save(using='db_test_')
【问题讨论】:
-
在不了解 Django 的情况下,似乎 Oracle 正在默默地将您的二进制数据转换为 LONG 数据类型。你能在插入之前声明数据类型吗?如果是这样,将 flal_file 声明为 BLOB 应该这样做
-
这里的问题是它已经在 Django 模型中声明为二进制字段但错误涉及 LONG
-
查看此处了解相同问题和解决方法stackoverflow.com/q/21197523/851930
-
这个错误似乎发生在旧版本的 Django 中。但仅限于二进制字段
-
你的 Django 版本是什么?
标签: python django oracle django-models django-orm