From 08ec9bb9cc944f34c1aa8ad698bebad3b1168bdf Mon Sep 17 00:00:00 2001 From: Aarni Halinen Date: Sun, 10 Nov 2019 20:46:16 +0200 Subject: [PATCH] Use json.loads for create and update of JSONField data --- webapp/serializers.py | 17 +++++++++++++++++ 1 file changed, 17 insertions(+) diff --git a/webapp/serializers.py b/webapp/serializers.py index 2250a8d..353b6c9 100644 --- a/webapp/serializers.py +++ b/webapp/serializers.py @@ -1,5 +1,6 @@ from rest_framework import serializers from webapp.models import * +import json class SignupFormSerializer(serializers.HyperlinkedModelSerializer): @@ -7,6 +8,14 @@ class SignupFormSerializer(serializers.HyperlinkedModelSerializer): model = SignupForm fields = ('id', 'title', 'start_time', 'end_time', 'questions') + def create(self, validated_data): + validated_data["questions"] = json.loads(validated_data["questions"]) + return super().create(validated_data) + + def update(self, instance, validated_data): + validated_data["questions"] = json.loads(validated_data["questions"]) + return super().update(instance, validated_data) + class EventSerializer(serializers.HyperlinkedModelSerializer): signupForm = SignupFormSerializer(many=True, read_only=True, required=False) @@ -64,6 +73,14 @@ class SignupSerializer(serializers.ModelSerializer): } } + def create(self, validated_data): + validated_data["answer"] = json.loads(validated_data["answer"]) + return super().create(validated_data) + + def update(self, instance, validated_data): + validated_data["answer"] = json.loads(validated_data["answer"]) + return super().update(instance, validated_data) + class SavedQuestionsSerializer(serializers.ModelSerializer): class Meta: