24 lines
796 B
Python
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)
|