diff options
| -rw-r--r-- | photoblaster/db/models/__init__.py | 29 |
1 files changed, 4 insertions, 25 deletions
diff --git a/photoblaster/db/models/__init__.py b/photoblaster/db/models/__init__.py index bb3e496..a30383a 100644 --- a/photoblaster/db/models/__init__.py +++ b/photoblaster/db/models/__init__.py @@ -6,6 +6,7 @@ from sqlalchemy.sql.expression import func Base = declarative_base() + class Actions(object): @classmethod def create(cls, **kwargs): @@ -14,8 +15,6 @@ class Actions(object): session.add(cls(**kwargs)) session.commit() except: - #also took this pattern from the sqlalchemy docs to handle "rollback exceptions" - #should I show you the code that's causing the error now? yep session.rollback() raise finally: @@ -31,54 +30,34 @@ class Actions(object): except: session.rollback() raise -#what about update, how it's used? we should maybe look at the flush thing + def free(self): - #I tried creating this free method to help with these timeouts session = inspect(self).session session.close() SessionHeap.remove() - + @classmethod def _search(cls, **kwargs): session = Session() - print "session()" query = session.query(cls).filter_by(**kwargs) session.close() return query try: session.commit() except: - print "session.rollback()" session.rollback() raise finally: - print "session.close()" session.close() SessionHeap.remove() return query -# def _search(cls, **kwargs): -# session = SessionHeap() -# print "session()" -# query = session.query(cls).filter_by(**kwargs) -# try: -# session.commit() -# except: -# print "session.rollback()" -# session.rollback() -# raise -# finally: -# print "session.close()" -# session.close() -# SessionHeap.remove() -# return query -# + @classmethod def search_random(cls, **kwargs): return cls._search(**kwargs).order_by(func.rand()) @classmethod def search(cls, **kwargs): - #something with this maybe? is it creating an extra session instance? because it seems like return cls._search(**kwargs).order_by(desc(cls.id)) @classmethod |
