PostgreSQL
 sql >> Base de Dados >  >> RDS >> PostgreSQL

Remover objetos da consulta se Nenhum ou Nulo


Você pode criar um dict com os dados do filtro:
filter_data = {'horsepower': horsepower, 'voltage': voltage, 'rpm': rpm}

Em seguida, crie outro dict apenas com as chaves cujos valores existem:
filter_data = {key: value for (key, value) in filter_data.items()
               if value}

E, finalmente, use este dict como kwargs para sua consulta:
results = Motor.query.filter_by(**filter_data).all()