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