peewee.InterfaceError:保存大量数据时错误绑定参数

时间:2018-07-30 18:47:07

标签: python database orm zipfile peewee

我在数据库中创建许多记录,如下所示:

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数据库中?

1 个答案:

答案 0 :(得分:0)

调用getbuffer()返回一个memoryview对象,该对象显然不受基础数据库驱动程序支持(顺便说一下,它是哪个)。 InterfaceError是由数据库驱动程序而不是Peewee引发的,这表明问题出在驱动程序不理解如何处理memoryview对象上。

您最好的选择是使用mf_binary_data.getvalue(),它应该返回一个bytes对象。