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():
|
||||
if v not in ALL_PERMS and 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):
|
||||
queryset = super().get_queryset()
|
||||
|
@ -92,7 +100,7 @@ class CustomGenericViewSet(MyLoggingMixin, GenericViewSet):
|
|||
queryset = queryset.select_related(*self.select_related_fields)
|
||||
if 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:
|
||||
user = self.request.user
|
||||
if user.is_superuser:
|
||||
|
@ -129,11 +137,6 @@ class CustomGenericViewSet(MyLoggingMixin, GenericViewSet):
|
|||
return queryset.none()
|
||||
return queryset
|
||||
|
||||
def filter_custom(self, queryset):
|
||||
"""自定义过滤逻辑需要的时候可重写
|
||||
"""
|
||||
pass
|
||||
|
||||
def filter_s_a_b(self, queryset, dept):
|
||||
"""过滤同级及以下, 可重写
|
||||
"""
|
||||
|
|
Loading…
Reference in New Issue