feat: 增加filter_custom必要时可复写
This commit is contained in:
parent
56ed286eaf
commit
3a224eafec
|
@ -85,6 +85,14 @@ class CustomGenericViewSet(MyLoggingMixin, GenericViewSet):
|
||||||
for k, v in self.perms_map.items():
|
for k, v in self.perms_map.items():
|
||||||
if v not in ALL_PERMS and v != '*':
|
if v not in ALL_PERMS and v != '*':
|
||||||
ALL_PERMS.append(v)
|
ALL_PERMS.append(v)
|
||||||
|
if not hasattr(self, 'filterset_fields'):
|
||||||
|
self.filterset_fields = self.select_related_fields
|
||||||
|
|
||||||
|
def filter_custom(self, queryset):
|
||||||
|
"""
|
||||||
|
自定义过滤方法可复写
|
||||||
|
"""
|
||||||
|
return queryset
|
||||||
|
|
||||||
def get_queryset(self):
|
def get_queryset(self):
|
||||||
queryset = super().get_queryset()
|
queryset = super().get_queryset()
|
||||||
|
@ -92,7 +100,7 @@ class CustomGenericViewSet(MyLoggingMixin, GenericViewSet):
|
||||||
queryset = queryset.select_related(*self.select_related_fields)
|
queryset = queryset.select_related(*self.select_related_fields)
|
||||||
if self.prefetch_related_fields:
|
if self.prefetch_related_fields:
|
||||||
queryset = queryset.prefetch_related(*self.prefetch_related_fields)
|
queryset = queryset.prefetch_related(*self.prefetch_related_fields)
|
||||||
self.filter_customer(queryset)
|
queryset = self.filter_custom(queryset)
|
||||||
if self.data_filter:
|
if self.data_filter:
|
||||||
user = self.request.user
|
user = self.request.user
|
||||||
if user.is_superuser:
|
if user.is_superuser:
|
||||||
|
@ -129,11 +137,6 @@ class CustomGenericViewSet(MyLoggingMixin, GenericViewSet):
|
||||||
return queryset.none()
|
return queryset.none()
|
||||||
return queryset
|
return queryset
|
||||||
|
|
||||||
def filter_custom(self, queryset):
|
|
||||||
"""自定义过滤逻辑需要的时候可重写
|
|
||||||
"""
|
|
||||||
pass
|
|
||||||
|
|
||||||
def filter_s_a_b(self, queryset, dept):
|
def filter_s_a_b(self, queryset, dept):
|
||||||
"""过滤同级及以下, 可重写
|
"""过滤同级及以下, 可重写
|
||||||
"""
|
"""
|
||||||
|
|
Loading…
Reference in New Issue