This is what I would use
Book.objects.filter(author__nationality="Italian", author__state="deceased").values("isbn")
This is- Is one single DB query.
- Completely obvious way to describe what I want to do.
- Only pulls the fields which are needed from the DB.
If you are claiming "the troublesome acriverecord pattern" you need to provide specifics of what can't be done, rather than claim "Don't look too deeply into the code samples for specifics though"