creates serializer for snippets
This commit is contained in:
parent
18b241ed3b
commit
17d2201e91
|
@ -0,0 +1,25 @@
|
||||||
|
from rest_framework import serializers
|
||||||
|
from snippets.models import Snippet, LANG_CHOICES, STYLE_CHOICES
|
||||||
|
|
||||||
|
class SnippetSerializer(serializers.Serializer):
|
||||||
|
id = serializers.IntegerField(read_only=True)
|
||||||
|
title = serializers.CharField(required=False, allow_blank=True, max_length=100)
|
||||||
|
code = serializers.CharField(style={"base_template", "textarea.html"})
|
||||||
|
line_numbers = serializers.BooleanField()
|
||||||
|
language = serializers.ChoiceField(choices=LANG_CHOICES, default="python")
|
||||||
|
style = serializers.ChoiceField(choices=STYLE_CHOICES, default="friendly")
|
||||||
|
|
||||||
|
def create(self, validated_data):
|
||||||
|
return Snippet.objects.create(**validated_data)
|
||||||
|
|
||||||
|
def update(self, instance, validated_data):
|
||||||
|
instance.title = validated_data.get("title", instance.title)
|
||||||
|
instance.code = validated_data.get("code", instance.code)
|
||||||
|
instance.line_numbers = validated_data.get("line_numbers", instance.line_numbers)
|
||||||
|
instance.language = validated_data.get("language", instance.language)
|
||||||
|
instance.style = validated_data.get("style", instance.style)
|
||||||
|
instance.save()
|
||||||
|
|
||||||
|
return instance
|
||||||
|
|
||||||
|
|
Loading…
Reference in New Issue