def unique_books(user, books, result_count):
"""
Return unique random books from given list of books.
:param django.contrib.auth.models.User user: The request user.
:param django.db.models.query.QuerySet[.models.Book] books: The given list of books.
:param int result_count: The count of unique books.
:return set[.models.Book]: The unique books.
"""
books = Book.exclude_private_books(user, books)
unique = set()
if len(books) > START_RECOMMEND:
while len(unique) < result_count:
unique.add(books[random.randint(0, len(books) - 1)])
return unique
评论列表
文章目录