2016-11-18 60 views
0

我想重複使用我的子查詢多次。Sqlalchemy重用子查詢

首先計數

devices = db.session.query(subquery).count() 

子查詢像

(Device, User).\ 
        filter(Device.e=='E').\ 
       filter(Device.id==User.id 

然後用分頁限制的結果。我想重新使用我的過濾器

(subquery).paginate(page=offset, per_page=limit) 

,而不是重複,因爲我用這麼多的過濾器和過濾器可能會改變

回答

0

答案其實很簡單。

def getquery(self): 
    return db.session.query(subquery) 

用於計數

count = self.getquery().count() 

的限制

devices = self.getquery().limit(xxxx)