feat: 取消dataset exec 日志记录及可直接抛出错误
This commit is contained in:
parent
6f8c7c0567
commit
e193a663c6
|
@ -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)
|
||||
|
|
|
@ -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'):
|
||||
|
|
Loading…
Reference in New Issue