diff --git a/courses/views.py b/courses/views.py index a560fba..53a9822 100644 --- a/courses/views.py +++ b/courses/views.py @@ -95,6 +95,8 @@ class UpdateLessonView(APIView): renderer_classes = (JSONRenderer, BrowsableAPIRenderer) parser_classes = (MultiPartParser,) + #TODO убрать эти костыли + @staticmethod def bool_transformer(val): if val == 'false': @@ -103,16 +105,24 @@ class UpdateLessonView(APIView): return True return val + @staticmethod + def none_transformer(val): + if val == 'null': + return None + if val == 'undefined': + return None + return val + def post(self, request): - lesson_token = request.POST.get('token', None) - sort = request.POST.get('sort', None) - topic_id = request.POST.get('topic', None) - title = request.POST.get('title', None) - description = request.POST.get('description', None) - video = request.POST.get('video', None) - materials_url = request.POST.get('materials_url', '') - free = self.bool_transformer(request.POST.get('free', None)) - is_hm = self.bool_transformer(request.POST.get('is_hm', None)) + lesson_token = self.none_transformer(request.POST.get('token', None)) + sort = self.none_transformer(request.POST.get('sort', None)) + topic_id = self.none_transformer(request.POST.get('topic', None)) + title = self.none_transformer(request.POST.get('title', None)) + description = self.none_transformer(request.POST.get('description', None)) + video = self.none_transformer(request.POST.get('video', None)) + materials_url = self.none_transformer(request.POST.get('materials_url', '')) + free = self.none_transformer(self.bool_transformer(request.POST.get('free', None))) + is_hm = self.none_transformer(self.bool_transformer(request.POST.get('is_hm', None))) if topic_id is None: return Response("topic не передан", status=400)