xxxxxxxxxx
import django_filters
class ProductFilter(django_filters.FilterSet):
# lookup_expr='iexact'
# lookup_expr='icontains'
name = django_filters.CharFilter(lookup_expr='iexact')
class Meta:
model = Product
fields = ['price', 'release_date']
xxxxxxxxxx
#It is worth to note that it's possible to add Q expressions.
from django.db.models import Q
query = Q(first_name='mark')
query.add(Q(email='mark@test.com'), Q.OR)
query.add(Q(last_name='doe'), Q.AND)
queryset = User.objects.filter(query)
xxxxxxxxxx
def product_list(request):
filter = ProductFilter(request.GET, queryset=Product.objects.all())
return render(request, 'my_app/template.html', {'filter': filter})
xxxxxxxxxx
from django_filters import rest_framework as filters
class ProductFilter(filters.FilterSet):
class Meta:
model = Product
fields = ('field')
xxxxxxxxxx
Blog.objects.filter(entry__authors__isnull=False, entry__authors__name__isnull=True)
xxxxxxxxxx
Blog.objects.filter(entry__authors__isnull=False, entry__authors__name__isnull=True)
xxxxxxxxxx
Blog.objects.filter(entry__authors__isnull=False, entry__authors__name__isnull=True)