Я ищу способ отфильтровать два входа ( имя и место ) из двух моделей (Фотограф и Местоположение ); но MultipleChoiceFilter, похоже, не работает для меня, потому что мне нужно добавить больше сложных logi c, которые работают в моем настраиваемом фильтре, как показано ниже.
from django.db.models import Q
from django_filters import rest_framework as filters
class SearchResultFilter(filters.FilterSet):
name = filters.CharFilter('Photographer')
place = filters.CharFilter(method='location_filter', distinct=True)
class Meta:
model = models.Photographer
fields = ('name')
def location_filter(self, queryset, name, value):
"""My complex logic"""
.
.
.
model = models.Location.filter(Q(location__icontains=value))
return model
Вопрос в том, "Есть ли способ поместить имя поле ввода в свой location_filter, чтобы я мог отфильтровать два ввода ( имя и поместите ) в эту функцию и верните требуемый querySet отсюда ».
Я попытался использовать self.name в location_filter; однако был создан журнал ошибок. Полагаю, «имя» здесь не переменная класса