w mojej definicji tabeli, mam kolumna zdefiniowana tak:filtr sqlalchemy porównując DateTime.Now() i domyślne kolumny dat
created_date = Column(DateTime, nullable=False, default=datetime.now)
chcę zapytać instancji, gdy jego data tworzony jest równa prądu data (np. jeśli jest tworzona dzisiaj).
więc próbowałem coś takiego:
res = session.query(Object).filter(datetime.now() == Object.created_date)
to nigdy nie działa, ponieważ dwie daty są porównywane w sekundach Myślę, więc nigdy nie będą sobie równe. Potem próbowałem to:
res = session.query(Object).filter((datetime.now() - Object.created_date).days < 1)
podczas gdy (datetime.now() - datetime.now()).days
prace w Pythonie, ale to nie działa w mojej sytuacji tutaj. Mam błąd: ani obiekt "BinaryExpression", ani obiekt "Komparator" nie ma atrybutu "dni".
Jak zatem wykonać zapytanie, które filtruje instancje utworzone w bieżącym dniu? dzięki!
dobrze, ale to nie działa właściwie. mówiąc, że działa, oznacza to, że zwróci wartość, która wynosi -1. –
jakiej biblioteki datetime i której wersji Pythona używasz? Po prostu nie sądzę, że istnieje atrybut 'days' dla instancji' datetime' instancji –