mcolak
mcolak

Reputation: 637

Sqlalchemy reuse sub query

I want to reuse my subquery for multi times.

First count

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

sub query like

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

then paginate the result with limit. I want to reuse my filters

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

and not to duplicate because I use so many filters and filter may change

Upvotes: 3

Views: 904

Answers (1)

mcolak
mcolak

Reputation: 637

The answer is actually very simple.

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

for count

count = self.getquery().count()

for limit

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

Upvotes: 1

Related Questions