diff --git a/apps/function_lib/serializers/function_lib_serializer.py b/apps/function_lib/serializers/function_lib_serializer.py index d5045e698..429c2704f 100644 --- a/apps/function_lib/serializers/function_lib_serializer.py +++ b/apps/function_lib/serializers/function_lib_serializer.py @@ -6,6 +6,7 @@ @date:2024/8/2 17:35 @desc: """ +import io import json import pickle import re @@ -289,7 +290,7 @@ class FunctionLibSerializer(serializers.Serializer): if function_lib.init_params: old_init_params = json.loads(rsa_long_decrypt(function_lib.init_params)) for key in edit_dict['init_params']: - if edit_dict['init_params'][key] == encryption(old_init_params[key]): + if key in old_init_params and edit_dict['init_params'][key] == encryption(old_init_params[key]): edit_dict['init_params'][key] = old_init_params[key] edit_dict['init_params'] = rsa_long_encrypt(json.dumps(edit_dict['init_params'])) @@ -309,7 +310,7 @@ class FunctionLibSerializer(serializers.Serializer): password_fields = [i["field"] for i in function_lib.init_field_list if i.get("input_type") == "PasswordInput"] if function_lib.init_params: for k in function_lib.init_params: - if k in password_fields: + if k in password_fields and function_lib.init_params[k]: function_lib.init_params[k] = encryption(function_lib.init_params[k]) return {**FunctionLibModelSerializer(function_lib).data, 'init_params': function_lib.init_params}