mercredi 4 mars 2015

sqlalchemy filter by comparing datetime.now() and column default date

in my table definition, i have a column defined like this:



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


i want to query a instance when its created date is equal to current date(eg, if it is created today).


so i tried something like this:



res = session.query(Object).filter(datetime.now() == Object.created_date)


it never works because two dates are compared in seconds i guess, so they will never be equal to each other. then i tried this:



res = session.query(Object).filter((datetime.now() - Object.created_date).days < 1)


while (datetime.now() - datetime.now()).days works in python, it doesnt work in my situation here. i got error says: Neither 'BinaryExpression' object nor 'Comparator' object has an attribute 'days'.


So how should i do a query that filters instances created on a current day? thanks!


Aucun commentaire:

Enregistrer un commentaire