Features: 1) Add level filter to replace children_present in category filtering;
Fixes: 1) Remove unused `filter_children_presence` method to clean up filters; Extra: 1) Update filters documentation and labels for clarity.
This commit is contained in:
parent
3f533bf9d8
commit
5c27c5d5bb
1 changed files with 1 additions and 8 deletions
|
|
@ -323,8 +323,7 @@ class CategoryFilter(FilterSet):
|
||||||
parent_uuid = CharFilter(method="filter_parent_uuid", label=_("Parent"))
|
parent_uuid = CharFilter(method="filter_parent_uuid", label=_("Parent"))
|
||||||
slug = CharFilter(field_name="slug", lookup_expr="exact", label=_("Slug"))
|
slug = CharFilter(field_name="slug", lookup_expr="exact", label=_("Slug"))
|
||||||
tags = CaseInsensitiveListFilter(field_name="tags__tag_name", label=_("Tags"))
|
tags = CaseInsensitiveListFilter(field_name="tags__tag_name", label=_("Tags"))
|
||||||
children_present = BooleanFilter(method="filter_children_presence", field_name="children_present",
|
level = NumberFilter(field_name="level", lookup_expr="exact", label=_("Level"))
|
||||||
label=_("children present"))
|
|
||||||
|
|
||||||
order_by = OrderingFilter(
|
order_by = OrderingFilter(
|
||||||
fields=(
|
fields=(
|
||||||
|
|
@ -338,12 +337,6 @@ class CategoryFilter(FilterSet):
|
||||||
model = Category
|
model = Category
|
||||||
fields = ["uuid", "name", "parent_uuid", "slug", "tags"]
|
fields = ["uuid", "name", "parent_uuid", "slug", "tags"]
|
||||||
|
|
||||||
def filter_children_presence(self, queryset, _name, value):
|
|
||||||
if value:
|
|
||||||
return queryset.filter(children__isnull=False)
|
|
||||||
else:
|
|
||||||
return queryset.filter(children__isnull=True)
|
|
||||||
|
|
||||||
def filter_parent_uuid(self, queryset, _name, value):
|
def filter_parent_uuid(self, queryset, _name, value):
|
||||||
if value in ("", "null", "None"):
|
if value in ("", "null", "None"):
|
||||||
return queryset.filter(parent=None)
|
return queryset.filter(parent=None)
|
||||||
|
|
|
||||||
Loading…
Reference in a new issue