Logo Questions Linux Laravel Mysql Ubuntu Git Menu
 

How to calculate past 1 day interval from current time in sqlalchemy

I want be able to filter sqlalchemy query by checking if datetime column is above some date which is 1 day before now().

Any ideas what is the correct syntax to do so?

Note:

1 .sqlalchemy query should look something like that:
one_day_interval_before = ? result = session.query(People).filter(People.registered_at>= one_day_interval_before).all()

  1. datetime retrived in python should be able to be compared to mysql datetime field, in format (year-month-day hour:minutes:seconds)
like image 377
JavaSa Avatar asked Nov 06 '25 16:11

JavaSa


2 Answers

For time intervals in Python use datetime.timedelta. A day before now would be then:

from datetime import datetime, timedelta

one_day_interval_before = datetime.now() - timedelta(days=1)
like image 108
Nhor Avatar answered Nov 09 '25 10:11

Nhor


you can also use func which includes most sql functions

from sqlalchemy import func
result = session.query(People)\
    .filter(People.registered_at>= func.ADDDATE(func.NOW(), -1)).all()
like image 22
noa1 Avatar answered Nov 09 '25 09:11

noa1



Donate For Us

If you love us? You can donate to us via Paypal or buy me a coffee so we can maintain and grow! Thank you!