X-Git-Url: https://git.mdrn.pl/wolnelektury.git/blobdiff_plain/d2b0cc75d0835ad5384bec638fea6ea244eadb40..397ba7adb8e974384f33f53dd0ee230374cce80a:/src/wolnelektury/views.py diff --git a/src/wolnelektury/views.py b/src/wolnelektury/views.py index 415a4fd1b..1c0f40cd3 100644 --- a/src/wolnelektury/views.py +++ b/src/wolnelektury/views.py @@ -52,7 +52,21 @@ def main_page(request): except IndexError: pass - ctx['best'] = Book.objects.filter(findable=True).order_by('?')[:5] + best = [] + best_places = 5 + for recommended in Collection.objects.filter(role='recommend').order_by('?'): + books = list(recommended.get_books().exclude(id__in=[b.id for b in best]).order_by('?')[:best_places]) + best.extend(books) + best_places -= len(books) + if not best_places: + break + if best_places: + best.extend( + list( + Book.objects.filter(findable=True).exclude(id__in=[b.id for b in best]).order_by('?')[:best_places] + ) + ) + ctx['best'] = best return render(request, "main_page.html", ctx)