X-Git-Url: https://git.mdrn.pl/wolnelektury.git/blobdiff_plain/b9dc6590aa12ae1b04e11dbb57684c5630c1e3bd..f8e76735cc10d9132eb7ca761b0257c50b0c1a10:/src/api/handlers.py?ds=sidebyside diff --git a/src/api/handlers.py b/src/api/handlers.py index b81afdaf5..827cd7c5f 100644 --- a/src/api/handlers.py +++ b/src/api/handlers.py @@ -13,6 +13,7 @@ from sorl.thumbnail import default from catalogue.forms import BookImportForm from catalogue.models import Book, Tag, BookMedia, Fragment, Collection +from catalogue.models.tag import prefetch_relations from picture.models import Picture from picture.forms import PictureImportForm @@ -206,8 +207,9 @@ class AnonymousBooksHandler(AnonymousBaseHandler, BookDetails): if daisy: books = books.filter(media__type='daisy').distinct() - books = books.only('slug', 'title', 'cover') - + books = books.only('slug', 'title', 'cover', 'cover_thumb') + for category in book_tag_categories: + books = prefetch_relations(books, category) if books: return books else: @@ -251,7 +253,7 @@ def _tags_getter(category): def _tag_getter(category): @classmethod def get_tag(cls, book): - return ', '.join(book.tags.filter(category=category).values_list('name', flat=True)) + return book.tag_unicode(category) return get_tag