2014-10-08 103 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)