pypika
pypika copied to clipboard
Dynamic creation pypika.Criterion
I have dataclass for query filters like this
class Filters:
table: str
column: str
value: List[str]
operation: Operator
when i want load data from diffrent tables from DB i have filters: List[Filters] where filters on different tables can be given. So i want do something like this
from pypika import Query, Table, Criterion
def build_query(table: str, columns: List[str], filters: List[Query]):
criterion = Criterion.any([])
for filter in filters:
if filter.table == table:
criterion.add(Table(table).field(filter.column) operator filter.values)
return Query._from(table).select(','.join(columns).where(criterion).get_sql(quote_char=None)
Any ideas?