diff --git a/netbox/core/api/serializers_/tasks.py b/netbox/core/api/serializers_/tasks.py index 53f2b5126..85fb682c9 100644 --- a/netbox/core/api/serializers_/tasks.py +++ b/netbox/core/api/serializers_/tasks.py @@ -18,8 +18,8 @@ class BackgroundTaskSerializer(serializers.Serializer): description = serializers.CharField() origin = serializers.CharField() func_name = serializers.CharField() - args = serializers.ListField(child=serializers.CharField()) - kwargs = serializers.DictField() + args = serializers.SerializerMethodField() + kwargs = serializers.SerializerMethodField() result = serializers.CharField() timeout = serializers.IntegerField() result_ttl = serializers.IntegerField() @@ -42,6 +42,16 @@ class BackgroundTaskSerializer(serializers.Serializer): is_scheduled = serializers.BooleanField() is_stopped = serializers.BooleanField() + def get_args(self, obj) -> list: + return [ + str(arg) for arg in obj.args + ] + + def get_kwargs(self, obj) -> dict: + return { + key: str(value) for key, value in obj.kwargs.items() + } + def get_position(self, obj) -> int: return obj.get_position()