Features: 1) Add prefetch for "tags" in CategoryViewSet queryset;
Fixes: 1) Simplify `CaseInsensitiveListFilter` by removing redundant debug logs; Extra: 1) Remove unused conditional filtering for parent category in `CategoryViewSet`.
This commit is contained in:
parent
4f010da204
commit
ea552fc3ba
2 changed files with 1 additions and 11 deletions
|
|
@ -24,19 +24,14 @@ logger = logging.getLogger(__name__)
|
|||
|
||||
class CaseInsensitiveListFilter(BaseInFilter, CharFilter):
|
||||
def filter(self, qs, value):
|
||||
logger.debug("CaseInsensitiveListFilter got value: %s", value)
|
||||
if not value:
|
||||
return qs
|
||||
|
||||
values = []
|
||||
|
||||
if isinstance(value, str):
|
||||
values = [v.strip() for v in value.split(',') if v.strip()]
|
||||
else:
|
||||
values = [v for v in value if v]
|
||||
|
||||
logger.debug("CaseInsensitiveListFilter value splitted: %s", values)
|
||||
|
||||
if not values:
|
||||
return qs
|
||||
|
||||
|
|
@ -46,9 +41,6 @@ class CaseInsensitiveListFilter(BaseInFilter, CharFilter):
|
|||
else:
|
||||
qs = qs.filter(q).distinct()
|
||||
|
||||
logger.debug("CaseInsensitiveListFilter Q: %s", str(q))
|
||||
logger.debug("CaseInsensitiveListFilter qs: %s", str(qs))
|
||||
|
||||
return qs
|
||||
|
||||
|
||||
|
|
|
|||
|
|
@ -157,7 +157,7 @@ class AttributeValueViewSet(EvibesViewSet):
|
|||
|
||||
@extend_schema_view(**CATEGORY_SCHEMA)
|
||||
class CategoryViewSet(EvibesViewSet):
|
||||
queryset = Category.objects.all().prefetch_related("parent", "children", "attributes")
|
||||
queryset = Category.objects.all().prefetch_related("parent", "children", "attributes", "tags")
|
||||
filter_backends = [DjangoFilterBackend]
|
||||
filterset_class = CategoryFilter
|
||||
serializer_class = CategoryDetailSerializer
|
||||
|
|
@ -167,8 +167,6 @@ class CategoryViewSet(EvibesViewSet):
|
|||
|
||||
def get_queryset(self):
|
||||
qs = super().get_queryset()
|
||||
if self.action == "list":
|
||||
qs = qs.filter(parent=None)
|
||||
if self.request.user.has_perm("core.view_category"):
|
||||
return qs
|
||||
return qs.filter(is_active=True)
|
||||
|
|
|
|||
Loading…
Reference in a new issue