Вообщем то, можно ли узнать все уникальные субклассы в запросе?

class Product(models.Model):
    name ...
class Product1(Product):
    color ...
class Product2(Product):
    length ...
    tags = ManyToManyField('tags.Tag')

Product.objects.all()
>>> <class Product 1>, <class Product 2>;

Product.objects.filter(name='11')
>>> <class Product 1>

При этом не сильно разрастаясь в запросах и поддерживалась пагинация (то есть не искались классы в первых 30 объектах, которые вернуться после запроса с ограничением)