Django-filter: Для ModelMultipleChoiceFilter query_parms, если задано значение null, дает пустой результат

Созданный на 17 мая 2017  ·  3Комментарии  ·  Источник: carltongibson/django-filter

class filter(filters.FilterSet):
    filename = django_filters.CharFilter(name='filename', lookup_expr='contains')
    state = django_filters.filters.ModelMultipleChoiceFilter(
                                                             name='state_id',
                                                             to_field_name ='state' ,
                                                             queryset=models.IngestionState.objects.all())

http: // localhost : 8000 / ingestion-detail /? filename = "{something}" & status =

Приведенный выше URL дает пустой результат.
Только когда status = {something}, мы получаем требуемый результат. Это случай, специфичный только для ModelMultipleChoiceFilter.

Самый полезный комментарий

from django_filters.constants import STRICTNESS это показывает мне ошибку под названием ImportError: cannot import name 'STRICTNESS'

Все 3 Комментарий

Что ж, трудно помочь в том, что ты сказал.

'status' != 'state' но я предполагаю, что это опечатка.

Попробуйте from django_filters.constants import STRICTNESS и установите для мета-параметра strict значение STRICTNESS.RAISE_VALIDATION_ERROR . По крайней мере, это должно вам кое-что сказать.

В противном случае мне нужно, чтобы вы попытались определить что-то более конкретное, прежде чем я смогу рассматривать это как проблему. Возможно, вам больше подойдет StackOverflow, если вам просто нужна помощь.

ПРИВЕТ У меня была та же проблема, в этой ситуации, как исправить пустой результат, если мой URL-адрес имел статус = пусто, если мне нужен статус во всех возможных?

from django_filters.constants import STRICTNESS это показывает мне ошибку под названием ImportError: cannot import name 'STRICTNESS'

Была ли эта страница полезной?
0 / 5 - 0 рейтинги