feat: 取消dataset exec 日志记录及可直接抛出错误

This commit is contained in:
caoqianming 2024-01-21 00:06:19 +08:00
parent 6f8c7c0567
commit e193a663c6
2 changed files with 8 additions and 3 deletions

View File

@ -34,3 +34,4 @@ class DataExecSerializer(serializers.Serializer):
query = serializers.JSONField(
label="查询字典参数", required=False, allow_null=True)
is_test = serializers.BooleanField(label='是否测试', default=False)
raise_exception = serializers.BooleanField(label='是否直接报错', default=False)

View File

@ -54,7 +54,7 @@ class DatasetViewSet(CustomModelViewSet):
return obj
@action(methods=['post'], detail=True, perms_map={'post': 'dataset.exec'}, serializer_class=DataExecSerializer, cache_seconds=0)
@action(methods=['post'], detail=True, perms_map={'post': 'dataset.exec'}, serializer_class=DataExecSerializer, cache_seconds=0, logging_methods=[])
def exec(self, request, pk=None):
"""执行sql查询
@ -64,6 +64,7 @@ class DatasetViewSet(CustomModelViewSet):
rdata = DatasetSerializer(instance=dt).data
query = request.data.get('query', {})
is_test = request.data.get('is_test', False)
raise_exception = request.data.get('raise_exception', False)
query['r_user'] = request.user.id
query['r_dept'] = request.user.belong_dept.id if request.user.belong_dept else ''
results = {}
@ -104,8 +105,11 @@ class DatasetViewSet(CustomModelViewSet):
results[name], results2[name] = format_sqldata(
res[0], res[1])
except Exception as e:
results[name] = 'error: ' + str(e)
can_cache = False
if raise_exception:
raise
else:
results[name] = 'error: ' + str(e)
can_cache = False
rdata['data'] = results
rdata['data2'] = results2
if rdata['echart_options'] and not rdata['echart_options'].startswith('function'):