Во-первых, BigIntegerField в качестве PK не самая лучшая с точки зрения оптимизации идея. Опустите book_id и author_id в author. Django сама подставит AutoField. Кроме того, логичнее relation выглядит когда:
class book(models.Model):
name = models.CharField(max_length=512)
...
author = models.ManyToManyField('author')
Во-вторых убедитесь, что при выборке средствами ORM будет вызван
prefetch_related правильным образом.
Ну и общая рекомендация, используйте
вывод запросов в логи для ORM, или воспользуйтесь
django-debug-toolbar.