diff --git a/core/serializers/detail.py b/core/serializers/detail.py index 0ef62c6f..b4ecc9a3 100644 --- a/core/serializers/detail.py +++ b/core/serializers/detail.py @@ -89,20 +89,19 @@ class CategoryDetailSerializer(ModelSerializer): .distinct() ) - distinct_vals_list = list(distinct_vals) + distinct_vals_list = list(distinct_vals)[0:128] if len(list(distinct_vals)) > 128 else list(distinct_vals) - if len(distinct_vals_list) <= 256: - filterable_results.append( - { - "attribute_name": attr.name, - "possible_values": distinct_vals_list, - "value_type": attr.value_type, - } - ) - else: - continue + filterable_results.append( + { + "attribute_name": attr.name, + "possible_values": distinct_vals_list, + "value_type": attr.value_type, + } + ) + + if not user.has_perm("view_attribute"): + cache.set(f"{obj.uuid}_filterable_results", filterable_results, 86400) - cache.set(f"{obj.uuid}_filterable_results", filterable_results, 86400) return filterable_results def get_children(self, obj) -> list[dict]: @@ -123,7 +122,7 @@ class CategoryDetailSerializer(ModelSerializer): class BrandDetailSerializer(ModelSerializer): - categories = CategoryDetailSerializer(many=True) + categories = CategorySimpleSerializer(many=True) small_logo = SerializerMethodField() big_logo = SerializerMethodField()