имя поля пользовательского метода django_filters - PullRequest
0 голосов
/ 06 января 2019

Когда я запускаю этот код, я получаю [неверное имя]: во всплывающих окнах фильтров в представлениях rest-framework django.

Я бы хотел отобразить имя "найти" . Как я могу установить это имя?

class MyModelFilter(filters.FilterSet):
    search_name = filters.CharFilter(field_name='name', lookup_expr='icontains')
    find_anywhere = filters.CharFilter(method='look_anywhere')

    def look_anywhere(self, queryset, name, value):
        return queryset.filter(Q(name__icontains=value) | Q(description__icontains=value))

    class Meta:
        model = MyModel
        fields = {'search', 'find_anywhere'}

при звонке

/api/mymodels/?find_anywhere=something

работает нормально.

Это только имя фильтра в представлениях DRF:

enter image description here

1 Ответ

0 голосов
/ 08 февраля 2019
search_name = filters.CharFilter(field_name='name', lookup_expr='icontains', label="Put Label Here")
...