from sqlalchemy.exc import SQLAlchemyError from app import db # Should I use SQLAlchemyError? class DAOException(SQLAlchemyError): pass class DAOClass(object): class Meta: model = None def create_instance(self, inst, _commit=True): db.session.add(inst) if _commit: db.session.commit() def update_instance(self, inst, update_dict, _commit=True): # Make sure the id is not included in the update_dict update_dict.pop('id') self.Meta.model.query.filter_by(id=inst.id).update(update_dict) if _commit: db.session.commit() def delete_instance(self, inst, _commit=True): db.session.delete(inst) if _commit: db.session.commit() def days_ago(number_of_days): from datetime import date, timedelta return date.today() - timedelta(days=number_of_days)