Isso é suportado por meio do
json_serializer
argumento de palavra-chave para create_engine
, conforme documentado em sqlalchemy.dialects.postgresql.JSON
:def _default(val):
if isinstance(val, Decimal):
return str(val)
raise TypeError()
def dumps(d):
return json.dumps(d, default=_default)
engine = create_engine(..., json_serializer=dumps)