As Andy correctly pointed out, you can use the prefetch_related method to gather this information. However, the query is slightly different. You have to prefetch on the related_name (which is hidden, when using model inheritence). Also, TextPost's body is just textfield, so you don't need to prefetch it, that's taken care of by select_subclasses
Post.objects.filter(user=user)\
.select_subclasses()\
.prefetch_related('photopost__photo')