django filters code example

Example 1: django_filters install

$ pip install django-filter

Example 2: Django filters

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']

Example 3: django-filter

def product_list(request):
    filter = ProductFilter(request.GET, queryset=Product.objects.all())
    return render(request, 'my_app/template.html', {'filter': filter})

Example 4: filter django or

#There is Q objects that allow to complex lookups. Example:
from django.db.models import Q

Item.objects.filter(Q(creator=owner) | Q(moderated=False))

Example 5: filter django or

#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='[email protected]'), Q.OR)
query.add(Q(last_name='doe'), Q.AND)

queryset = User.objects.filter(query)

Example 6: django_filters install

INSTALLED_APPS = [
    ...
    'django_filters',
]