perf: 优化 api sql 查询

This commit is contained in:
ibuler
2023-02-07 16:21:26 +08:00
parent 47c5f18c6e
commit e7202ac984
13 changed files with 150 additions and 104 deletions

View File

@@ -92,12 +92,17 @@ class RBACPermission(permissions.DjangoModelPermissions):
try:
queryset = self._queryset(view)
model_cls = queryset.model
if isinstance(queryset, list) and queryset:
model_cls = queryset[0].__class__
else:
model_cls = queryset.model
except AssertionError:
model_cls = None
except AttributeError:
model_cls = None
except Exception as e:
logger.error('Error get model class: {} of {}'.format(e, view))
model_cls = None
raise e
return model_cls
def get_require_perms(self, request, view):