Możesz utworzyć dict
z danymi filtra:
filter_data = {'horsepower': horsepower, 'voltage': voltage, 'rpm': rpm}
Następnie utwórz kolejny dict
tylko z kluczami, których wartości istnieją:
filter_data = {key: value for (key, value) in filter_data.items()
if value}
I na koniec użyj tego dyktatu jako kwargs w swoim zapytaniu:
results = Motor.query.filter_by(**filter_data).all()