Mysql
 sql >> Database >  >> RDS >> Mysql

Utilizzo di un campo Intero SQLAlchemy per creare un oggetto timedelta per il filtraggio

Non credo che Interval ti aiuterà in questo, in quanto non sarebbe in grado di forzare in funzioni di data [ora] specifiche del DB. Quindi dovresti probabilmente utilizzare le funzioni date[time] specifiche della piattaforma per risolvere questo problema.

Se stai usando postgresql , il codice seguente dovrebbe funzionare (supponendo che Items.days è un numero intero):

q = (session.query(Item)
     .filter(func.age(now, Item.created_on) <=
             func.make_interval(0, 0, 0, Item.days)
             )
     )

Vedi postgres' Funzioni e operatori data/ora per ulteriori informazioni.