Usando cdecimal en SQLAlchemy

Así que estoy tratando de usar cdecimal para almacenar valores monetarios en mi base de datos. Doc SQLAlchemy

import sys import cdecimal sys.modules["decimal"] = cdecimal 

He conectado mi base de datos PostgreSQL así:

 sqlalchemy.url = postgresql+psycopg2://user:password@host:port/dbname 

He configurado el modelo algo como esto:

 class Exchange(Base): amount = Column(Numeric) ... def __init__(self, amount): self.amount = cdecimal.Decimal(amount) 

Sin embargo, siempre que hago esto, obtengo el siguiente error:

 ProgrammingError: (ProgrammingError) can't adapt type 'cdecimal.Decimal' 'INSERT INTO... 

¿Qué estoy haciendo mal?

Este está trabajando para mí, por favor intente esto

 import sys import cdecimal sys.modules["decimal"] = cdecimal from sqlalchemy import create_engine, Numeric, Integer, Column from sqlalchemy.ext.declarative import declarative_base engine = create_engine('mysql://test:test@localhost/test1') Base = declarative_base() class Exchange(Base): __tablename__ = 'exchange' id = Column(Integer, primary_key=True) amount = Column(Numeric(10,2)) def __init__(self, amount): self.amount = cdecimal.Decimal(amount) Base.metadata.create_all(engine) from sqlalchemy.orm import sessionmaker Session = sessionmaker(bind=engine) session = Session() x = Exchange(10.5) session.add(x) session.commit() 

Nota: No tengo pgsql en mi PC, así que lo probé en mysql.