paperless-ngx/src/documents/serialisers.py

55 lines
1.3 KiB
Python

from rest_framework import serializers
from .models import Correspondent, Tag, Document, Log
class CorrespondentSerializer(serializers.HyperlinkedModelSerializer):
class Meta(object):
model = Correspondent
fields = ("id", "slug", "name")
class TagSerializer(serializers.HyperlinkedModelSerializer):
class Meta(object):
model = Tag
fields = (
"id", "slug", "name", "colour", "match", "matching_algorithm")
class DocumentSerializer(serializers.ModelSerializer):
sender = serializers.HyperlinkedRelatedField(
read_only=True, view_name="drf:sender-detail", allow_null=True)
tags = serializers.HyperlinkedRelatedField(
read_only=True, view_name="drf:tag-detail", many=True)
class Meta(object):
model = Document
fields = (
"id",
"sender",
"title",
"content",
"file_type",
"tags",
"created",
"modified",
"file_name",
"download_url"
)
class LogSerializer(serializers.ModelSerializer):
time = serializers.DateTimeField()
messages = serializers.CharField()
class Meta(object):
model = Log
fields = (
"time",
"messages"
)