Files
ormar/ormar/queryset/limit_query.py
2021-01-03 17:54:09 +01:00

26 lines
635 B
Python

from typing import Optional
import sqlalchemy
class LimitQuery:
"""
Modifies the select query with limit clause.
"""
def __init__(self, limit_count: Optional[int]) -> None:
self.limit_count = limit_count
def apply(self, expr: sqlalchemy.sql.select) -> sqlalchemy.sql.select:
"""
Applies the limit clause.
:param expr: query to modify
:type expr: sqlalchemy.sql.selectable.Select
:return: modified query
:rtype: sqlalchemy.sql.selectable.Select
"""
if self.limit_count:
expr = expr.limit(self.limit_count)
return expr