use ints for stats
[wolnelektury.git] / src / catalogue / api / serializers.py
index 626ad47..9fa05f5 100644 (file)
@@ -50,7 +50,7 @@ class AuthorItemSerializer(serializers.ModelSerializer):
     class Meta:
         model = Tag
         fields = [
     class Meta:
         model = Tag
         fields = [
-            'url', 'href', 'name', 'slug'
+            'id', 'url', 'href', 'name', 'slug'
         ]
 
 class AuthorSerializer(AuthorItemSerializer):
         ]
 
 class AuthorSerializer(AuthorItemSerializer):
@@ -71,7 +71,7 @@ class EpochItemSerializer(serializers.ModelSerializer):
     )
     class Meta:
         model = Tag
     )
     class Meta:
         model = Tag
-        fields = ['url', 'href', 'name', 'slug']
+        fields = ['id', 'url', 'href', 'name', 'slug']
 
 class EpochSerializer(EpochItemSerializer):
     class Meta:
 
 class EpochSerializer(EpochItemSerializer):
     class Meta:
@@ -89,7 +89,7 @@ class GenreItemSerializer(serializers.ModelSerializer):
     )
     class Meta:
         model = Tag
     )
     class Meta:
         model = Tag
-        fields = ['url', 'href', 'name', 'slug']
+        fields = ['id', 'url', 'href', 'name', 'slug']
 
 class GenreSerializer(GenreItemSerializer):
     class Meta:
 
 class GenreSerializer(GenreItemSerializer):
     class Meta:
@@ -107,7 +107,7 @@ class KindItemSerializer(serializers.ModelSerializer):
     )
     class Meta:
         model = Tag
     )
     class Meta:
         model = Tag
-        fields = ['url', 'href', 'name', 'slug']
+        fields = ['id', 'url', 'href', 'name', 'slug']
 
 class KindSerializer(KindItemSerializer):
     class Meta:
 
 class KindSerializer(KindItemSerializer):
     class Meta:
@@ -155,6 +155,7 @@ class BookSerializer2(serializers.ModelSerializer):
         view_name='catalogue_api_book',
         lookup_field='slug'
     )
         view_name='catalogue_api_book',
         lookup_field='slug'
     )
+    children = serializers.SerializerMethodField()
     audiences = serializers.ListField(source='audiences_pl')
 
     class Meta:
     audiences = serializers.ListField(source='audiences_pl')
 
     class Meta:
@@ -164,7 +165,7 @@ class BookSerializer2(serializers.ModelSerializer):
             'href', 'url', 'language',
             'authors', 'translators',
             'epochs', 'genres', 'kinds',
             'href', 'url', 'language',
             'authors', 'translators',
             'epochs', 'genres', 'kinds',
-            #'children',
+            'children',
             'parent', 'preview',
             'epub', 'mobi', 'pdf', 'html', 'txt', 'fb2', 'xml',
             'cover_thumb', 'cover',
             'parent', 'preview',
             'epub', 'mobi', 'pdf', 'html', 'txt', 'fb2', 'xml',
             'cover_thumb', 'cover',
@@ -172,8 +173,12 @@ class BookSerializer2(serializers.ModelSerializer):
             'abstract',
             'has_mp3_file', 'has_sync_file',
             'elevenreader_link', 'content_warnings', 'audiences',
             'abstract',
             'has_mp3_file', 'has_sync_file',
             'elevenreader_link', 'content_warnings', 'audiences',
+            'changed_at', 'read_time', 'pages', 'redakcja'
         ]
 
         ]
 
+    def get_children(self, obj):
+        return list(obj.get_children().values('slug', 'title'))
+
 class BookSerializer11Labs(serializers.ModelSerializer):
     url = AbsoluteURLField()
     href = AbsoluteURLField(view_name='catalogue_api_book', view_args=['slug'])
 class BookSerializer11Labs(serializers.ModelSerializer):
     url = AbsoluteURLField()
     href = AbsoluteURLField(view_name='catalogue_api_book', view_args=['slug'])