Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- if value:
- q = ret_event_filter('value', q, value, Event)
- elif len(key.split("__")) > 1 and key.split("__")[1] == 'isevent':
- mapped = False
- for mapper in q._join_entities:
- if mapper.class_ == Event:
- mapped = True
- if not mapped:
- q = q.join(Event)
- q = ret_event_filter('value', q, key.split("__")[0], Event)
- elif key == 'action':
- q = q.filter(Message.user_id == None)
- elif len(splitKey.split("__")) > 1 and splitKey.split("__")[1] == 'isnull':
- if value in ['true', '1', True]:
- if User.__dict__.get(splitKey.split("__")[0]):
- q = ret_filter_none('=', q, splitKey.split("__")[0], None, User)
- elif UserAccount.__dict__.get(key):
- q = ret_filter_none('=', q, splitKey.split("__")[0], None, UserAccount)
- elif Message.__dict__.get(splitKey.split("__")[0]):
- q = q.outerjoin(Message, Message.user_id == User.id).filter(Message.id == None)
- else:
- if User.__dict__.get(splitKey.split("__")[0]):
- q = ret_filter_none('!=', q, splitKey.split("__")[0], None, User)
- elif UserAccount.__dict__.get(key):
- q = ret_filter_none('!=', q, splitKey.split("__")[0], None, UserAccount)
- elif len(splitKey.split("__")) > 1 and splitKey.split("__")[1] == 'search' and User.__dict__.get(
- splitKey.split("__")[0]):
- q = q.filter(getattr(User, splitKey.split("__")[0]).like(value + '%'))
- elif len(splitKey.split("__")) > 1 and splitKey.split("__")[1] == 'search' and UserAccount.__dict__.get(
- splitKey.split("__")[0]):
- q = q.filter(getattr(UserAccount, splitKey.split("__")[0]).like(value + '%'))
- elif len(splitKey.split("__")) > 1 and splitKey.split("__")[1] == 'search' and Event.__dict__.get(
- splitKey.split("__")[0]):
- q = q.filter(getattr(Event, splitKey.split("__")[0]).like(value + '%'))
- elif len(splitKey.split("__")) > 1 and splitKey.split("__")[1] == 'greaterthan':
- if User.__dict__.get(splitKey.split("__")[0]):
- q = ret_filter('>', q, splitKey.split("__")[0], value, User)
- elif UserAccount.__dict__.get(key):
- q = ret_filter('>', q, splitKey.split("__")[0], value, UserAccount)
- elif len(splitKey.split("__")) > 1 and splitKey.split("__")[1] == 'lessthan':
- if User.__dict__.get(splitKey.split("__")[0]):
- q = ret_filter('<', q, splitKey.split("__")[0], value, User)
- elif UserAccount.__dict__.get(splitKey.split("__")[0]):
- q = ret_filter('<', q, splitKey.split("__")[0], value, UserAccount)
- elif Message.__dict__.get(splitKey.split("__")[0]):
- q = ret_filter('<', q, splitKey.split("__")[0], value, Message)
- elif len(splitKey.split("__")) > 1 and splitKey.split("__")[1] == 'isnotequal':
- if User.__dict__.get(splitKey.split("__")[0]):
- q = ret_filter_none('!=', q, splitKey.split("__")[0], value, User)
- elif UserAccount.__dict__.get(key):
- q = ret_filter_none('!=', q, splitKey.split("__")[0], value, UserAccount)
- # For same name attrs in diffrent models specify model too i.e model__attr
- elif len(splitKey.split("__")) > 1:
- q = ret_filter('=', q, splitKey.split("__")[1], value, JOIN_OBJ[splitKey.split("__")[0]])
- return q
Add Comment
Please, Sign In to add comment