DocManagerBackend/docmanager_backend/documents/serializers.py

75 lines
1.8 KiB
Python
Raw Normal View History

2024-11-23 23:02:52 +08:00
from rest_framework import serializers
2024-11-24 02:20:18 +08:00
from config import settings
2024-11-23 23:02:52 +08:00
from .models import Document
class DocumentUploadSerializer(serializers.ModelSerializer):
# For staff
file = serializers.FileField()
date_uploaded = serializers.DateTimeField(
format="%m-%d-%Y %I:%M %p", read_only=True
)
class Meta:
model = Document
2024-11-24 02:20:18 +08:00
fields = [
"id",
"name",
"file",
"document_type",
"number_pages",
"date_uploaded",
]
2024-11-23 23:02:52 +08:00
read_only_fields = ["id", "date-uploaded"]
class DocumentDeleteSerializer(serializers.ModelSerializer):
class Meta:
model = Document
fields = ["id"]
class DocumentSerializer(serializers.ModelSerializer):
# Read-only serializer
date_uploaded = serializers.DateTimeField(
format="%m-%d-%Y %I:%M %p", read_only=True
)
class Meta:
model = Document
2024-11-24 02:20:18 +08:00
fields = ["id", "name", "document_type", "number_pages", "date_uploaded"]
read_only_fields = [
"id",
"name",
"document_type",
"number_pages",
"date_uploaded",
]
class DocumentFileSerializer(serializers.ModelSerializer):
# Read-only serializer which includes the actual link to the file
date_uploaded = serializers.DateTimeField(
format="%m-%d-%Y %I:%M %p", read_only=True
)
file = serializers.FileField()
class Meta:
model = Document
fields = [
"id",
"name",
"document_type",
"file",
"number_pages",
"date_uploaded",
]
read_only_fields = [
"id",
"name",
"document_type",
"number_pages",
"date_uploaded",
"file",
]