django-filter - Как проанализировать имя поля с суффиксом, таким как "_id" (динамические имена полей) - PullRequest
0 голосов
/ 05 марта 2019

Я хотел бы иметь возможность анализировать параметры строки запроса по имени и значению.Возможно ли это с django-filters или django-rest-framework?

Пример: /api/user/?custom_field_{id}={value}

class UserFilter(django_filters.FilterSet):
    custom_field{id} = django_filters.ModelChoiceFilter(
        queryset=CustomField.objects.all(), method="filter_by_custom_field"
    )

    def filter_by_custom_field(self, queryset, name, value):
        # How can I get access to the {id} as well as the value in here?
        pass

Вышеуказанный синтаксис недопустим (custom_field{id}), но это примерпокажи, чего я пытаюсь достичь.

1 Ответ

0 голосов
/ 05 марта 2019

Если вы пытаетесь получить параметры из запроса GET / POST, вам нужно получить их, обработав запрос в вашем представлении:

class Test(View):
    def dispatch(self, request, *args, **kwargs):
        vote_value = self.request.POST.get('parameter_name', 0)

То же самое происходит для GET, просто измените имя метода после self.request.

...