Drf-spectacular не показывает параметры в swagger-ui, которые я предоставляю в классе FilterSet из django_filters, если они необязательные
Я пытаюсь реализовать некоторый API с помощью GenericViewSet. У меня также есть класс FilterSet с некоторыми пользовательскими необязательными полями. Моя проблема заключается в генерации этих пользовательских полей в документации по конечным точкам swagger-ui. Сгенерированная схема просто не включает все эти параметры фильтрации. Есть ли способ решить эту проблему без использования декоратора @extend_schema с действиями viewset? Вот мой класс FilterSet:
Class MyFilter(filters.FilterSet):
number_field = filters.NumberFilter(required=False)
class Meta:
model = MyModel
fields = ('number_field', )
КлассViewSet:
class MyViewSet(viewsets.mixins.ListModelMixin, viewsets.GenericViewSet):
filter_backends = [DjangoFilterBackend]
filterset_class = MyFilter
def get_queryset(self):
return MyModel.objects.all()
Я нашел это https://github.com/carltongibson/django-filter/issues/966#issuecomment-639739206
Можете ли вы проверить журналы и посмотреть, нет ли там чего-то похожего на следующее?
Не удалось получить модель через queryset представления из-за возникшего исключения. Предотвратите это, установив "queryset = Model.objects.none()" для представления, проверив наличие "getattr(self, "swagger_fake_view", False)" в get_queryset() или просто используя @extend_schema. (Исключение: xyz)
Затем обработайте брошенное исключение в своем get_queryset