feat: base select_rel和prefetch_rel放于filter之后

This commit is contained in:
caoqianming 2023-11-03 09:07:10 +08:00
parent 9c37de9ffb
commit 7202c82ea1
1 changed files with 6 additions and 2 deletions

View File

@ -94,12 +94,16 @@ class CustomGenericViewSet(MyLoggingMixin, GenericViewSet):
"""
return queryset
def get_queryset(self):
queryset = super().get_queryset()
def filter_queryset(self, queryset):
queryset = super().filter_queryset(queryset)
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)
return queryset
def get_queryset(self):
queryset = super().get_queryset()
queryset = self.filter_custom(queryset)
if self.data_filter:
user = self.request.user