Add search level one() method
And create a _fix_query_dict which converts '_id' to 'id'.
This commit is contained in:
parent
fb7dd855de
commit
2608982885
@ -4,13 +4,26 @@ from sqlalchemy.orm import scoped_session, sessionmaker
|
|||||||
Session = scoped_session(sessionmaker())
|
Session = scoped_session(sessionmaker())
|
||||||
|
|
||||||
|
|
||||||
|
def _fix_query_dict(query_dict):
|
||||||
|
if '_id' in query_dict:
|
||||||
|
query_dict['id'] = query_dict.pop('_id')
|
||||||
|
|
||||||
|
|
||||||
class GMGTableBase(object):
|
class GMGTableBase(object):
|
||||||
query = Session.query_property()
|
query = Session.query_property()
|
||||||
|
|
||||||
@classmethod
|
@classmethod
|
||||||
def find(cls, query_dict={}):
|
def find(cls, query_dict={}):
|
||||||
|
_fix_query_dict(query_dict)
|
||||||
return cls.query.filter_by(**query_dict)
|
return cls.query.filter_by(**query_dict)
|
||||||
|
|
||||||
@classmethod
|
@classmethod
|
||||||
def find_one(cls, query_dict={}):
|
def find_one(cls, query_dict={}):
|
||||||
|
_fix_query_dict(query_dict)
|
||||||
return cls.query.filter_by(**query_dict).first()
|
return cls.query.filter_by(**query_dict).first()
|
||||||
|
|
||||||
|
@classmethod
|
||||||
|
def one(cls, query_dict):
|
||||||
|
retval = cls.find_one(query_dict)
|
||||||
|
assert retval is not None
|
||||||
|
return retval
|
||||||
|
Loading…
x
Reference in New Issue
Block a user