We recently added some queryset methods to page to simplify queries like this:
https://github.com/torchbox/wagtaildemo/blob/master/demo/models.py#L271