class TodoSerializer(serializers.Serializer):
id = serializers.IntegerField(read_only=True)
title = serializers.CharField(allow_blank=False, max_length=64)
description = serializers.CharField(allow_blank=False, max_length=256)
done = serializers.BooleanField(default=False)
owner = serializers.PrimaryKeyRelatedField(many=False, queryset=User.objects.all(), required=False)
def create(self, validated_data):
return models.Todo.objects.create(**validated_data)
def update(self, instance, validated_data):
instance.title = validated_data.get('title', instance.title)
instance.description = validated_data.get('description', instance.description)
instance.done = validated_data.get('done', instance.done)
instance.save()
return instance