PostgreSQL
 sql >> Base de données >  >> RDS >> PostgreSQL

Supprimer les objets de la requête si aucun ou nul

Vous pouvez créer un dict avec les données du filtre :

filter_data = {'horsepower': horsepower, 'voltage': voltage, 'rpm': rpm}

Créez ensuite un autre dict avec uniquement les clés dont les valeurs existent :

filter_data = {key: value for (key, value) in filter_data.items()
               if value}

Et enfin, utilisez ce dict comme kwargs pour votre requête :

results = Motor.query.filter_by(**filter_data).all()