mirror of
https://github.com/daniviga/django-ram.git
synced 2025-08-04 21:27:49 +02:00
* Implement an action do download data in csv * Refactor CSV download * Move price to main models and add csv to bookshelf * Update template and API * Small refactoring
42 lines
1.0 KiB
Python
42 lines
1.0 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 = ("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 = ("price",)
|
|
read_only_fields = ("creation_time", "updated_time")
|