- related += list(Book.objects.exclude(
- pk__in=[b.pk for b in related] + [book.pk]
- ).order_by('?')[:random])
+ random_books = Book.objects.exclude(
+ pk__in=[b.pk for b in related] + [book.pk])
+ if random == 1:
+ count = random_books.count()
+ if count:
+ related.append(random_books[randint(0, count - 1)])
+ else:
+ related += list(random_books.order_by('?')[:random])