I think `topic.product` triggers a new query each time. We could do `question.topics.all().select_related('product')`. But it might be better if we can get the product and topic from the original query to get the question list?