perf: 优化列权限新增代码
This commit is contained in:
@@ -44,26 +44,16 @@ class ColumnViewSet(CustomModelViewSet):
|
|||||||
|
|
||||||
def create(self, request, *args, **kwargs):
|
def create(self, request, *args, **kwargs):
|
||||||
payload = request.data
|
payload = request.data
|
||||||
if not Role.objects.filter(pk=payload.get('role')).exists():
|
for model in get_custom_app_models(payload.get('app')):
|
||||||
return ErrorResponse(msg='角色不存在')
|
if payload.get('model') == model['model']:
|
||||||
model = None
|
|
||||||
for app in get_custom_app_models():
|
|
||||||
equal = False
|
|
||||||
for model in app:
|
|
||||||
if payload.get('model') == model['model']:
|
|
||||||
equal = True
|
|
||||||
model = model
|
|
||||||
break
|
|
||||||
if equal:
|
|
||||||
break
|
break
|
||||||
else:
|
else:
|
||||||
return ErrorResponse(msg='模型表不存在')
|
return ErrorResponse(msg='模型表不存在')
|
||||||
|
|
||||||
if Columns.objects.filter(app=model['app'], model=model['model'], field_name=payload.get('field_name')).exists():
|
if Columns.objects.filter(app=model['app'], model=model['model'], field_name=payload.get('field_name')).exists():
|
||||||
return ErrorResponse(msg='‘%s’ 字段权限已有,不可重复创建' % payload.get('title'))
|
return ErrorResponse(msg='‘%s’ 字段权限已有,不可重复创建' % payload.get('title'))
|
||||||
serializer = self.get_serializer(data=request.data, request=request)
|
|
||||||
serializer.is_valid(raise_exception=True)
|
return super().create(request, *args, **kwargs)
|
||||||
self.perform_create(serializer)
|
|
||||||
return DetailResponse(data=serializer.data, msg="新增成功")
|
|
||||||
|
|
||||||
@action(methods=['GET'], detail=False, permission_classes=[IsAuthenticated])
|
@action(methods=['GET'], detail=False, permission_classes=[IsAuthenticated])
|
||||||
def get_models(self, request):
|
def get_models(self, request):
|
||||||
|
|||||||
Reference in New Issue
Block a user