vbv/server/vbv_lernwelt/simpletodo/serializers.py

24 lines
796 B
Python

from rest_framework import serializers
from rest_framework.serializers import ModelSerializer
from vbv_lernwelt.simpletodo.models import SimpleTask, SimpleList
class SimpleTaskSerializer(ModelSerializer):
list_title = serializers.CharField(max_length=100)
class Meta:
model = SimpleTask
fields = ['id', 'title', 'text', 'done', 'deadline', 'list_title', ]
def create(self, validated_data):
user = validated_data.pop('user', None)
if user is None:
raise serializers.ValidationError('User is required')
list_title = validated_data.pop('list_title')
simple_list, _ = SimpleList.objects.get_or_create(title=list_title, user=user)
validated_data['list'] = simple_list
return super().create(validated_data)