Ich verwende Peewee mit PyMySQL und ich bin immer auf der 64k blob
Größe stecken, wenn die CompressedField
vom playhouse
Modul zu verwenden versuchen ...Peewee CompressedField wird abgeschnitten auf MySQL db
Der folgende Code gibt mir abgeschnittene Daten für den zweiten Test
from peewee import *
from playhouse.db_url import connect
from playhouse.fields import CompressedField
db = connect("mysql://me:[email protected]/test_db")
class Compress(Model):
name = CharField()
cmprssd_data = CompressedField()
class Meta:
database = db
db.connect()
db.create_tables([Compress], safe=True)
short_str = "".zfill(200)
di_test1 = {"name": "first", "cmprssd_data": short_str }
test1 = Compress(**di_test1)
test1.save()
long_str = "".zfill(200000000)
di_test2 = {"name": "second", "cmprssd_data": long_str }
test2 = Compress(**di_test2)
test2.save()
ich versuchte 'max_allowed_packet'
-1073741824
sowohl MySQL und pymysql modernisiert werden, aber das hat nichts ändern. By the way, wie ich denke, es ist das gleiche Problem, die Verwendung der long_str
mit einer PickledField
gibt mir einen gebrochenen Rohrfehler.
Gibt es eine Möglichkeit, Peewee mit longblob
zu arbeiten? (oder kommt das Problem von woanders?) Ich fand auch eine thread on the broken pipe problem with pymysql, aber ich weiß nicht, wie man einem Peewee-Modell sagt, das Brocken Zeug auf diesem spezifischen Feld zu tun ...
Das funktioniert perfekt, vielen Dank! – Silmathoron