title: Django/Wagtail - most efficient way to refine page queryset by multiple parent pages
body: <p>I have a list of category pages obtained as follows:</p>
  <pre><code>category_ids = request.GET.getlist('category[]')
  category_pages = MyCategoryPage.objects.filter(pk__in=category_ids)
  </code></pre>
  <p>What I'd like to do is refine a list of pages to include only those that are children of the categories specified above.</p>
  <p>I'm aware that you can do this for one object as follows:</p>
  <pre><code>pages = MySubPage.objects.child_of(category)
  </code></pre>
  <p>..but as far as I can tell there is no way to do <code>child_of(category_pages)</code> for more than one parent.</p>
  <p>In normal Django, where I'd probably have a category <code>ForeignKey</code> on <code>MySubPage</code>, I'd just do:</p>
  <pre><code>pages = MySubPage.objects.filter(category__in=filter_categories)
  </code></pre>
  <p>..but again I'm not sure that I can do that in Wagtail.</p>
  <p>I know I could probably loop through all the categories and append the sub pages to a list:</p>
  <pre><code>pages = []
  for category in category_pages:
      pages.append(MySubPage.objects.child_of(category))
  </code></pre>
  <p>...and then join them all, but that doesn't seem very efficient and obviously it would return a list rather than a queryset.</p>
  <p>I've searched the docs but can't find any more direct way of achieving this.</p>