PostgreSQL
 sql >> Base de données >  >> RDS >> PostgreSQL

Utilisation d'un encodeur JSON personnalisé pour l'implémentation PostgreSQL JSONB de SQLAlchemy

Ceci est pris en charge via le json_serializer argument de mot-clé à create_engine , comme documenté sous 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)