Nie sądzę, że Interval
pomoże ci w tym, ponieważ nie będzie w stanie przekonwertować do specyficznych dla bazy danych funkcji date[time]. Aby rozwiązać ten problem, prawdopodobnie powinieneś użyć funkcji date[time] specyficznych dla platformy.
Jeśli używasz postgresql , poniższy kod powinien działać (zakładając, że Items.days
jest liczbą całkowitą):
q = (session.query(Item)
.filter(func.age(now, Item.created_on) <=
func.make_interval(0, 0, 0, Item.days)
)
)
Zobacz postgres'
Funkcje i operatory daty/godziny
aby uzyskać więcej informacji.