python - SQLAlchemy - override orm.Query.count for a database without subselect -
i using sqlalchemy database doesn't support subselects. means wouldn't work (where calendar
model inheriting declarative base):
calendar.query.filter(uuid=uuid).count()
i trying override count
method this:
def count(self): col = func.count(literal_column("'uuid'")) return self.from_self(col).scalar()
however, from_self
bit still subselect. can't this:
session.query(sql.func.count(calendar.uuid)).scalar()
because want filter information query
. there way can filter arguments current query
without doing subselect?
thanks~
from sqlalchemy documentation:
for fine grained control on specific columns count, skip usage of subquery or otherwise control of clause, or use other aggregate functions, use func expressions in conjunction query(), i.e.:
from sqlalchemy import func # count user records, without # using subquery. session.query(func.count(user.id)) # return count of user "id" grouped # "name" session.query(func.count(user.id)).\ group_by(user.name) sqlalchemy import distinct # count distinct "name" values session.query(func.count(distinct(user.name)))
Comments
Post a Comment