Mysql
 sql >> Datenbank >  >> RDS >> Mysql

Verwenden eines SQLAlchemy Integer-Felds zum Erstellen eines timedelta-Objekts zum Filtern

Ich glaube nicht, dass Interval wird Ihnen dort helfen, da es nicht in der Lage wäre, DB-spezifische date[time]-Funktionen zu erzwingen. Sie sollten also wahrscheinlich die plattformspezifischen date[time]-Funktionen verwenden, um dies zu lösen.

Wenn Sie postgresql verwenden , der folgende Code sollte funktionieren (unter der Annahme von Items.days ist ganzzahlig):

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

Siehe postgres' Datums-/Zeitfunktionen und Operatoren für weitere Informationen.