Consulta SQL Django duplicada n veces

Tengo un modelo de libro y un modelo de calificación,

class Book(models.Model):
    title = models.CharField(max_length=255)
    slug = AutoSlugField(unique=True, populate_from='title')
    description = models.TextField()
    # more fields

class Rating(models.Model):
    book = models.ForeignKey('library.Book')
    score = models.DecimalField(max_digits=2, decimal_places=1)

la consulta,

books = {'books': Book.objects.filter(pk__in=Rating.objects.all().order_by('-score'
              ).values_list('book__id', flat=True))[:10] }

modelo,

{% for i in books %}
   {{ i.title }}, {{ i.rating_set.all.first.score }} <br/>
{% endfor %}

renderiza el modelo a la plantilla, pero la barra de herramientas de depuración de django se muestra como Duplicado n veces donde n es el número de objetos en la lista. cuando uso el almacenamiento en caché de queryset, es normal.

¿Qué sucede detrás? ¿Cómo puedo solucionar esto?

Gracias.

Respuestas a la pregunta(2)

Su respuesta a la pregunta