Я хотел бы фильтровать параметры запроса в моем REST API - см. документацию по django. Однако один параметр, по которому я хочу отфильтровать, доступен только через модель @property
пример models.py:
class Listing(models.Model):
product = models.OneToOneField(Product, related_name='listing')
...
@property
def category(self):
return self.product.assets[0].category.name
Вот настройка моего Listing API в соответствии с django-filter docs
class ListingFilter(django_filters.FilterSet):
product = django_filters.CharFilter(name='product__name')
category = django_filters.CharFilter(name='category') #DOES NOT WORK!!
class Meta:
model = Listing
fields = ['product','category']
class ListingList(generics.ListCreateAPIView):
queryset = Listing.objects.all()
serializer_class = ListingSerializer
filter_class = ListingFilter
Как правильно фильтровать по listing.category? Он недоступен непосредственно в модели листинга.