Merge branch 'feature/filter-favs-by-tag' into 'develop'
Filters for news favorites See merge request gm/gm-backend!133
This commit is contained in:
commit
ae53a18e08
|
|
@ -16,6 +16,8 @@ class NewsListFilterSet(filters.FilterSet):
|
||||||
),
|
),
|
||||||
method='by_tag_group'
|
method='by_tag_group'
|
||||||
)
|
)
|
||||||
|
tag_value__exclude = filters.CharFilter(method='exclude_tags')
|
||||||
|
tag_value__in = filters.CharFilter(method='in_tags')
|
||||||
|
|
||||||
class Meta:
|
class Meta:
|
||||||
"""Meta class"""
|
"""Meta class"""
|
||||||
|
|
@ -24,8 +26,18 @@ class NewsListFilterSet(filters.FilterSet):
|
||||||
'title',
|
'title',
|
||||||
'is_highlighted',
|
'is_highlighted',
|
||||||
'tag_group',
|
'tag_group',
|
||||||
|
'tag_value__exclude',
|
||||||
|
'tag_value__in',
|
||||||
)
|
)
|
||||||
|
|
||||||
|
def in_tags(self, queryset, name, value):
|
||||||
|
tags = value.split('__')
|
||||||
|
return queryset.filter(tags__value__in=tags)
|
||||||
|
|
||||||
|
def exclude_tags(self, queryset, name, value):
|
||||||
|
tags = value.split('__')
|
||||||
|
return queryset.exclude(tags__value__in=tags)
|
||||||
|
|
||||||
def by_tag_group(self, queryset, name, value):
|
def by_tag_group(self, queryset, name, value):
|
||||||
if value == models.News.RECIPES_TAG_VALUE:
|
if value == models.News.RECIPES_TAG_VALUE:
|
||||||
queryset = queryset.recipe_news()
|
queryset = queryset.recipe_news()
|
||||||
|
|
|
||||||
Loading…
Reference in New Issue
Block a user