Consider this query:
query = Novel.objects.< ...some filtering... >.annotate(
latest_chapter_id=Max(\"volume__chapter__id\")
)
Actual
Yes, it's possible.
To get a queryset containing all Chapters which are the last in their Novels, simply do:
from django.db.models.expressions import F
from django.db.models.aggregates import Max
Chapters.objects.annotate(last_chapter_pk=Max('novel__chapter__pk')
).filter(pk=F('last_chapter_pk'))
Tested on Django 1.7.