The "clever" way Daniel Roseman is talking about, is to construct filters by strings, I assume?
It goes something like this:
method = MyObjectsCost.objects.filter
qs = method(**{'%s__%s' % (field_name, lookup_type): value})
Giving the right values for your situation you can build something like:
field_name = 'real_value'
lookup_type = 'gt'
value = 'min_real_value'
which would construct a 'real_value__gt=min_real_value
' string that is passed to the filter method. So you can create filters based on strings. This can come in handy, but could also end up being ugly hacky code. So use carefully, but this concept could help you constructing your filters.
In case you like 3rd party apps look at https://github.com/alex/django-filter which gives you more flexibility with your filters too.
But never forget to keep it simple.