From 8025746e93b6efe74fadb0e91ad67f531c8024f1 Mon Sep 17 00:00:00 2001 From: sosokker Date: Mon, 30 Oct 2023 15:36:23 +0700 Subject: [PATCH] Fix ManytoMany assign at Initialize error --- backend/tasks/tasks/serializers.py | 12 +++++++++++- backend/tasks/tasks/views.py | 8 ++++---- 2 files changed, 15 insertions(+), 5 deletions(-) diff --git a/backend/tasks/tasks/serializers.py b/backend/tasks/tasks/serializers.py index ff4be9e..009c472 100644 --- a/backend/tasks/tasks/serializers.py +++ b/backend/tasks/tasks/serializers.py @@ -1,7 +1,17 @@ from rest_framework import serializers from ..models import Task -class TaskSerializer(serializers.ModelSerializer): +class TaskCreateSerializer(serializers.ModelSerializer): + class Meta: + model = Task + # fields = '__all__' + exclude = ('tags', 'reminders') + + def create(self, validated_data): + # Create a new task with validated data + return Task.objects.create(**validated_data) + +class TaskGeneralSerializer(serializers.ModelSerializer): class Meta: model = Task fields = '__all__' diff --git a/backend/tasks/tasks/views.py b/backend/tasks/tasks/views.py index 99e4ea9..b9f4481 100644 --- a/backend/tasks/tasks/views.py +++ b/backend/tasks/tasks/views.py @@ -3,11 +3,11 @@ from rest_framework.response import Response from rest_framework.generics import CreateAPIView, RetrieveAPIView, RetrieveUpdateAPIView, DestroyAPIView from rest_framework.permissions import IsAuthenticated from ..models import Task -from .serializers import TaskSerializer +from .serializers import TaskCreateSerializer, TaskGeneralSerializer class TaskCreateView(CreateAPIView): queryset = Task.objects.all() - serializer_class = TaskSerializer + serializer_class = TaskCreateSerializer permission_classes = [IsAuthenticated] def create(self, request, *args, **kwargs): @@ -22,12 +22,12 @@ class TaskCreateView(CreateAPIView): class TaskRetrieveView(RetrieveAPIView): queryset = Task.objects.all() - serializer_class = TaskSerializer + serializer_class = TaskGeneralSerializer class TaskUpdateView(RetrieveUpdateAPIView): queryset = Task.objects.all() - serializer_class = TaskSerializer + serializer_class = TaskGeneralSerializer permission_classes = [IsAuthenticated]