mirror of
https://github.com/daniviga/django-ram.git
synced 2025-08-04 05:07:50 +02:00
42 lines
1.1 KiB
Python
42 lines
1.1 KiB
Python
from rest_framework import serializers
|
|
from bookshelf.models import Book, Catalog, Author, Publisher
|
|
from metadata.serializers import (
|
|
ScaleSerializer,
|
|
ManufacturerSerializer,
|
|
TagSerializer
|
|
)
|
|
|
|
|
|
class AuthorSerializer(serializers.ModelSerializer):
|
|
class Meta:
|
|
model = Author
|
|
fields = "__all__"
|
|
|
|
|
|
class PublisherSerializer(serializers.ModelSerializer):
|
|
class Meta:
|
|
model = Publisher
|
|
fields = "__all__"
|
|
|
|
|
|
class BookSerializer(serializers.ModelSerializer):
|
|
authors = AuthorSerializer(many=True)
|
|
publisher = PublisherSerializer()
|
|
tags = TagSerializer(many=True)
|
|
|
|
class Meta:
|
|
model = Book
|
|
exclude = ("shop", "purchase_date", "price",)
|
|
read_only_fields = ("creation_time", "updated_time")
|
|
|
|
|
|
class CatalogSerializer(serializers.ModelSerializer):
|
|
scales = ScaleSerializer(many=True)
|
|
manufacturer = ManufacturerSerializer()
|
|
tags = TagSerializer(many=True)
|
|
|
|
class Meta:
|
|
model = Catalog
|
|
exclude = ("purchase_date", "price",)
|
|
read_only_fields = ("creation_time", "updated_time")
|