2014-10-08 107 views
0

有人可以提供一個工作的例子描述in the docs here;燒瓶不寧定製查詢

class Person(Base): 
    __tablename__ = 'person' 
    id = Column(Integer, primary_key=True) 

    @classmethod 
    def query(cls): 
     return get_query_for_current_user(cls) 

'get_query_for_current_user()'應該返回什麼?

回答

1

您應該返回查詢本身..

original_query = db.session.query(cls) 

這將返回原來的查詢。之後,您可以基本上添加任何過濾器並返回修改後的查詢。

例如。

if user.is_auth: 
    condition = (cls.id == 1) 
else: 
    condition = (cls.id == 2) 
return original_query.filter(condition)