Таблица с курсами с эталонным долларом (все курсы - отношение валюты к доллару).
| ID | WALLET | VALUE |
| 1 | EUR | 1.1192 |
| 2 | RUR | 0.0151 |
Табличку, скорее всего, лучше держать в кэше. А дальше задача тривиальная.
condition = None
price = 50 # так же?
for course in Course.objects.all():
if condition is None:
condition = Q(wallet=course.wallet) & Q(price__gt=price/course.value)
else:
condition |= Q(wallet=course.wallet) & Q(price__gt=price/course.value)
return Product.objects.filter(condition)