PostgreSQL
 sql >> Datenbank >  >> RDS >> PostgreSQL

Objekte aus der Abfrage entfernen, wenn None oder Null

Sie können ein dict erstellen mit den Filterdaten:

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

Erstellen Sie dann ein weiteres dict mit nur den Schlüsseln, deren Werte vorhanden sind:

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

Und schließlich verwenden Sie dieses Diktat als Kwargs für Ihre Abfrage:

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