feat: base 性能优化调整位置

This commit is contained in:
caoqianming 2025-05-23 09:54:52 +08:00
parent 9c1ba20d36
commit 74e176ce97
1 changed files with 5 additions and 5 deletions

View File

@ -106,16 +106,16 @@ class CustomGenericViewSet(MyLoggingMixin, GenericViewSet):
return queryset
def filter_queryset(self, queryset):
queryset = super().filter_queryset(queryset)
# 如果带有with_children查询, 出于优化需要应自动过滤掉一些内容
if (self.request.query_params.get("with_children", "no") in ["yes", "count"]
and self.request.query_params.get("parent", None) is None):
queryset = queryset.filter(parent=None)
# 用于性能优化
if self.select_related_fields:
queryset = queryset.select_related(*self.select_related_fields)
if self.prefetch_related_fields:
queryset = queryset.prefetch_related(*self.prefetch_related_fields)
queryset = super().filter_queryset(queryset)
# 如果带有with_children查询, 出于优化需要应自动过滤掉一些内容
if (self.request.query_params.get("with_children", "no") in ["yes", "count"]
and self.request.query_params.get("parent", None) is None):
queryset = queryset.filter(parent=None)
return queryset
def get_queryset(self):