Update random objects getter

This commit is contained in:
2022-01-01 12:37:22 +03:00
parent a58136c5c2
commit 4a78d4f987
7 changed files with 49 additions and 15 deletions

View File

@@ -10,7 +10,7 @@ from app.utils.pagination import CustomPage
from app.models import Book as BookDB, Author as AuthorDB, BookAnnotation as BookAnnotationDB
from app.serializers.book import Book, RemoteBook, BookDetail, CreateBook, UpdateBook, CreateRemoteBook
from app.serializers.book_annotation import BookAnnotation
from app.services.book import BookTGRMSearchService, BookCreator
from app.services.book import BookTGRMSearchService, GetRandomBookService, BookCreator
from app.filters.book import get_book_filter
from app.depends import check_token
@@ -41,9 +41,7 @@ async def create_book(data: Union[CreateBook, CreateRemoteBook]):
@book_router.get("/random", response_model=BookDetail)
async def get_random_book():
book_ids: list[int] = await BookDB.objects.filter(is_deleted=False).values_list("id", flatten=True)
book_id = random_choice(book_ids)
book_id = await GetRandomBookService.get_random_id()
return await BookDB.objects.select_related(SELECT_RELATED_FIELDS).get(id=book_id)