SQLalchemy Dame la siguiente advertencia cuando utilizo una columna Numérica con un motor de base de datos SQLite.¿Cómo debo manejar el decimal en SQLalchemy & SQLite?
SAWarning: sqlite dialecto + pysqlite hace de soporte no objetos decimales de forma nativa
Estoy tratando de averiguar la mejor manera de tener pkgPrice = Column(Numeric(12,2))
en sqlalchemy sin dejar de utilizar SQLite.
Esta pregunta [1] How to convert Python decimal to SQLite numeric? muestra una forma de utilizar sqlite3.register_adapter(D, adapt_decimal)
para tener SQLite recibir y devolver decimal, pero almacenar cadenas, pero no sé cómo profundizar en el núcleo de SQLAlchemy para hacer esto todavía. Los decoradores tipo parecen el enfoque correcto, pero todavía no los logro.
¿Alguien tiene una Receta de decorador tipo SQLAlchemy que tendrá números numéricos o decimales en el modelo SQLAlchemy, pero los almacena como cadenas en SQLite?
Espero que no te importe si sugiero un pequeño cambio en tu código. :) en lugar de devolver un valor en process_result_value voy a sugerir que hacer si la rama: def process_result_value (uno mismo, valor, dialecto): si value = "Ninguno": D retorno (valor) otra cosa: return None – Tiho
@van, ¿Has intentado consultar en tus nuevas columnas SqliteNumeric? El resultado no es correcto ya que la comparación de cadenas es totalmente diferente de la comparación numérica. Si haces session.query (T) .filter (T.value> 100), verás. –
Además, creo que la parte load_dialect_impl no es necesaria, dado que ya ha especificado impl = types.String –