Reputation: 901
There is a model:
class Calendar(models.Model):
...
vendor_code = models.TextField()
...
FilterSet class:
from django_filters import OrderingFilter
from django_filters.rest_framework import FilterSet, DjangoFilterBackend
class CalendarFilter(FilterSet):
ordering = OrderingFilter(
fields=(
('vendor_code', 'vendor_code'),
),
field_labels={
'vendor_code': 'Vendor code',
}
)
class Meta:
model = Calendar
fields = ['vendor_code']
The view:
class CalendarsView(mixins.ListModelMixin, GenericViewSet):
...
filter_backends = (DjangoFilterBackend,)
filterset_class = CalendarFilter
I expected that if define field_labels
param the label Vendor code
would appear in swagger but there is only ordering
without any description:
I need this in order to frontend developers could see them.
What am I doing wrong?
Upvotes: 0
Views: 226
Reputation: 192
OrderingFilter
is used in View like this:
class CalendarsView(mixins.ListModelMixin, GenericViewSet):
...
filter_backends = [DjangoFilterBackend, filters.SearchFilter,filters.OrderingFilter]
filter_class = CalendarFilter
filter_backends = [filters.OrderingFilter]
and in CalendarFilter
used field:
class CalendarFilter(FilterSet):
vendor_code = filters.CharFilter(field_name='vendor_code', lookup_expr='icontains', label='vendor_code')
Upvotes: 2