Как отфильтровать обьекты в таблиц по полю Цена, валюта разная, но цена должна быть больше 50 долларов?
1) Должна быть табличка с валютами со следующими полями: Ид, название, курс (по отношению к базовой валюте - доллар, например)
2) Делаете запрос, в котором переводите все валюты в одну (доллар) и делаете условие по этому полю
Таблица с курсами с эталонным долларом (все курсы - отношение валюты к доллару). | 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)