I am using Django REST framework with the django-filter
package, but my question is mostly about django-filter
. I don't understand how to use filters with "__in" lookup.
For example I have the following model:
class Book(models.Model):
name = models.CharField(max_length=100)
class BookView(viewsets.ReadOnlyModelViewSet):
serializer_class = BookSerializer()
model = Book
filter_fields = ('id', 'name')
And I can't use URLs like /v1/books/?id__in=1,2,3
to find books with id 1, 2 or 3.
How do you use Django-filter's '__in' lookup?
There's a simple solution with django_filter
now:
class BookView(viewsets.ReadOnlyModelViewSet):
serializer_class = BookSerializer()
model = Book
filter_fields = {
'id': ['exact', 'in'],
'name': ['exact']
}
And then you can use it in your query string exactly as you wanted: ?id__in=1,2,3
.
If you love us? You can donate to us via Paypal or buy me a coffee so we can maintain and grow! Thank you!
Donate Us With