This repository has been archived on 2022-09-23. You can view files and clone it, but cannot push or open issues or pull requests.
webdev/website/snippets/serializers.py

18 lines
753 B
Python
Raw Normal View History

2022-01-08 05:10:31 +05:30
from django.contrib.auth.models import User
2022-01-08 04:42:34 +05:30
from rest_framework import serializers
from .models import Snippet, LANGUAGE_CHOICES, STYLE_CHOICES
2022-01-08 06:56:58 +05:30
class SnippetSerializer(serializers.HyperlinkedModelSerializer):
2022-01-08 05:13:06 +05:30
owner = serializers.ReadOnlyField(source='owner.username')
2022-01-08 06:56:58 +05:30
highlight = serializers.HyperlinkedIdentityField(view_name='snippet-highlight', format='html')
2022-01-08 04:42:34 +05:30
class Meta:
model = Snippet
2022-01-08 06:56:58 +05:30
fields = ['url', 'id', 'highlight', 'owner', 'title', 'code', 'linenos', 'language', 'style']
2022-01-08 05:10:31 +05:30
class UserSerializer(serializers.ModelSerializer):
snippets = serializers.PrimaryKeyRelatedField(many=True, queryset=Snippet.objects.all())
class Meta:
model = User
2022-01-08 06:56:58 +05:30
fields = ['url', 'id', 'username', 'snippets']