Follow foreign key relations.

       Also, use Q objects instead of union of querysets, so filter is only done once.