@skipUnless(django.VERSION >= (1, 6, 0), "test only applies to Django 1.6+")
    def test_mixing_strings_and_classes_with_grandchildren(self):
        objs = InheritanceManagerTestParent.objects.select_subclasses(
            "inheritancemanagertestchild2",
            InheritanceManagerTestGrandChild1_2).order_by('pk')
        expecting = ['inheritancemanagertestchild1__inheritancemanagertestgrandchild1_2',
                     'inheritancemanagertestchild2']
        self.assertEqual(set(objs.subclasses), set(expecting))
        expecting2 = [
            InheritanceManagerTestParent(pk=self.parent1.pk),
            InheritanceManagerTestParent(pk=self.child1.pk),
            InheritanceManagerTestChild2(pk=self.child2.pk),
            InheritanceManagerTestParent(pk=self.grandchild1.pk),
            InheritanceManagerTestGrandChild1_2(pk=self.grandchild1_2.pk),
        ]
        self.assertEqual(list(objs), expecting2)
Given arguments consisting of both strings and model classes,
dataset/ETHPy150Open carljm/django-model-utils/model_utils/tests/tests.py/InheritanceManagerUsingModelsTests.test_mixing_strings_and_classes_with_grandchildren