我在数据库中创建许多记录,如下所示:
Subproducts.create(mf_id=mf_id,
co=co,
mf_binary=mf_binary_data.getbuffer())
mf_binary
类型为io.BytesIO()
-它是收集到zipfile中的二进制文件的二进制表示形式
我已经使用这种方法成功创建了许多记录,但是我对一个特定的数据集有疑问。
它比其他更大,需要约1,2GB。
当我尝试将其保存在数据库中时,发生以下错误。
peewee.InterfaceError: Error binding parameter 2 - probably unsupported type.
模型中mf_binary的字段为peewee.BlobField(default=b'0')
如何将此类数据存储在peewee数据库中?
答案 0 :(得分:0)
调用getbuffer()
返回一个memoryview
对象,该对象显然不受基础数据库驱动程序支持(顺便说一下,它是哪个)。 InterfaceError
是由数据库驱动程序而不是Peewee引发的,这表明问题出在驱动程序不理解如何处理memoryview
对象上。
您最好的选择是使用mf_binary_data.getvalue()
,它应该返回一个bytes
对象。