From 4f6ed87ca02325f47ce40d0f20c88ce9da3a39ad Mon Sep 17 00:00:00 2001 From: Samuel Gaist <samuel.gaist@idiap.ch> Date: Thu, 23 Aug 2018 15:22:31 +0200 Subject: [PATCH] [common][serializers] Make fork_of a JSONField We are receiving JSON data for the fork_of field so this simplifies its handling. --- beat/web/common/serializers.py | 10 ++++++---- 1 file changed, 6 insertions(+), 4 deletions(-) diff --git a/beat/web/common/serializers.py b/beat/web/common/serializers.py index 933b257a3..c26452837 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 -- GitLab