Empresas
Empleos
  • Sobre nosotros
  • Soluciones
    • Publicación de vacantes
      Publica tu vacante y recibe candidatos calificados en 48h.
    • Evaluación de candidatos
      500+ pruebas técnicas y psicológicas, más anti-fraude.
    • Headhunting
      Búsqueda ejecutiva a la medida de principio a fin.
    • Nómina + EOR
      Dispersión de nómina y EOR en más de 15 países de LATAM.
  • Precios
  • Empleos

0

473
Vistas
Use to_char en la consulta Flask SqlAlchemy

En mi modelo Flask tengo esta columna:

 datetime = db.Column(db.DateTime, nullable=False, default=datetime.now)

Cuando completo las filas de una base de datos PostgreSql, obtengo esto:

 2020-07-03 18:12:49.362271 2020-07-04 09:21:34.644202

Ahora, quiero formatear esos resultados usando la función to_char de Postgresql. La consulta debería ser esta:

 select to_char(datetime, 'YYYY-MM-DD HH24:MI:SS') as datetime from order_detail;

Y el resultado es este:

 --------------------- 2020-07-03 18:12:49 2020-07-04 09:21:34 (2 rows)

¿Cómo puedo decirle a Flask-SqlAlchemy que ejecute esa función cuando consulta la tabla order_detail ?

Importante: no quiero hacer el formato en mi aplicación Flask, quiero dejar que Postgresql formatee los resultados .

over 4 years ago · Santiago Trujillo
1 Respuestas
Responde la pregunta

0

Utilice column_property() y func() . Suponiendo que su modelo se llame Foo :

 from sqlalchemy import func from sqlalchemy.orm import column_property class Foo(db.Model): id = db.Column(db.Integer, primary_key=True) datetime = db.Column(db.DateTime, nullable=False, default=datetime.now) formatted_datetime = column_property(func.to_char(datetime, 'YYYY-MM-DD HH24:MI:SS')) # print(Foo.query.all()[0].formatted_datetime) # ->'2020-07-04 06:59:09'

Si es importante que el nombre del atributo del modelo sea datetime , deberá asignar a la columna subyacente un nombre de atributo diferente y hacer referencia a la columna con su name kwarg.

 class Foo2(db.Model): __tablename__ = 'foo' id = db.Column(db.Integer, primary_key=True) orig_datetime = db.Column(db.DateTime, name='datetime', nullable=False, default=datetime.now) datetime = column_property(func.to_char(orig_datetime, 'YYYY-MM-DD HH24:MI:SS')) # print(Foo2.query.all()[0].datetime) # ->'2020-07-04 06:59:09'
over 4 years ago · Santiago Trujillo Denunciar
Responde la pregunta
Encuentra empleos remotos

¡Descubre la nueva forma de encontrar empleo!

Top de empleos
Top categorías de empleo
Empresas
Publicar vacante Precios Comercial
Legal
Términos y condiciones Política de privacidad
© 2026 PeakU Inc. All Rights Reserved.
Andres GPT
Recomiéndame algunas ofertas
Necesito ayuda