如何在pewee BlobField中存储二进制数据

时间:2018-03-25 07:46:24

标签: python sqlite io peewee

如何使用io.BytesIO()在SQLlite数据库中存储二进制数据peewee

当我尝试将其存储在BlobField中时,我收到以下错误:

ValueError: Value must be either a bytes, memoryview or BigBitFieldData instance.

2 个答案:

答案 0 :(得分:2)

您似乎并未实际使用BlobField。但是,要将BytesIO对象中的数据存储到实际 BlobField中,您可以:

# io.BytesIO.get_value() method should return bytes.
some_model.blob_field = bytesio_obj.getvalue()

答案 1 :(得分:-2)

基于作者的答案,我在这里为不熟悉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