diff --git a/beat/web/common/serializers.py b/beat/web/common/serializers.py index 933b257a3ec13703b0e1153aa96b6cf4ff7d6110..c26452837d4f28226e3c595e4a8abd22247f69fe 100644 --- a/beat/web/common/serializers.py +++ b/beat/web/common/serializers.py @@ -311,7 +311,7 @@ class MapDot(dict): class ContributionCreationSerializer(serializers.ModelSerializer): declaration = JSONSerializerField(required=False) description = serializers.CharField(required=False, allow_blank=True) - fork_of = serializers.CharField(required=False) + fork_of = serializers.JSONField(required=False) previous_version = serializers.CharField(required=False) class Meta: @@ -341,7 +341,8 @@ class ContributionCreationSerializer(serializers.ModelSerializer): previous_version_id["username"] = user.username previous_version_id["name"] = name previous_version_id["version"] = data['previous_version'] - data['data'] = json.dumps(ast.literal_eval(json.loads(json.dumps(data['data'])))) + data['data'] = json.dumps(data['data']) + else: previous_version_id = None @@ -353,11 +354,12 @@ class ContributionCreationSerializer(serializers.ModelSerializer): fork_of_id.username = user.username else: fork_of_id = MapDot() - fork_elem = json.loads(json.dumps(ast.literal_eval(json.loads(json.dumps(data['fork_of']))))) + fork_elem = data['fork_of'] fork_of_id["username"] = fork_elem['username'] fork_of_id["name"] = fork_elem['name'] fork_of_id["version"] = fork_elem['version'] - data['data'] = json.dumps(ast.literal_eval(json.loads(json.dumps(data['data'])))) + data['data'] = json.dumps(data['data']) + else: fork_of_id = None