如何使用peewee在SQLlite DB中存储二进制数据io.BytesIO()?当我尝试将其存储在Blobfield中时,我收到以下错误:
peewee
io.BytesIO()
ValueError: Value must be either a bytes, memoryview or BigBitFieldData instance.
iih3973s1#
看起来您实际上并没有使用BlobField。但是,要将数据从BytesIO对象存储到ActualBlobField中,您可以:
BlobField
# io.BytesIO.getvalue() method should return bytes. some_model.blob_field = bytesio_obj.getvalue()
zfycwa2u2#
在作者回答的基础上,我在这里为不熟悉io的人提供了一个更端到端的示例
io
with open("file.parquet.gzip", "rb") as f: bytesio_obj = io.BytesIO(f.read()) binary = bytesio_obj.getvalue() some_model.blob_field = binary
来源:https://stackoverflow.com/a/59365168/5739514
2条答案
按热度按时间iih3973s1#
看起来您实际上并没有使用
BlobField
。但是,要将数据从BytesIO对象存储到ActualBlobField
中,您可以:zfycwa2u2#
在作者回答的基础上,我在这里为不熟悉
io
的人提供了一个更端到端的示例来源:https://stackoverflow.com/a/59365168/5739514