from datetime import datetime, timedelta def cleanupEvents(db, Event): # calculate the date one month ago one_month_ago = datetime.now() - timedelta(days=30) # get events older than one month old_events = db.session.query(Event).filter( db.func.STR_TO_DATE(Event.scheduled_date, '%m-%d-%Y') < one_month_ago.date() ).all() # delete old events for event in old_events: db.session.delete(event) db.session.commit()