query params filter working with tags in Product

This commit is contained in:
Sam
2021-02-12 11:28:55 +00:00
parent 9a6a30553a
commit 0a61cea599
4 changed files with 52 additions and 13 deletions

View File

@@ -3,15 +3,16 @@ from products.models import Product
class ProductTagFilter(django_filters.FilterSet):
tags = django_filters.CharFilter(method='tag_filter')
attributes = django_filters.CharFilter(method='tag_filter')
category = django_filters.CharFilter(method='tag_filter')
class Meta:
model = Product
fields = ['name', 'tags']
fields = ['name', 'tags', 'category', 'attributes']
def tag_filter(self, queryset, name, value):
if name == 'tags':
return queryset.filter(tags=value)
return []
return queryset.filter(**{
name: value,
})