bconstantin / django_polymorphic. Why am I only finding this now? This is a very nice thing for Django projects with inherited models - as soon as you make accesses to a common model class, you only get instances of the common model class with Django - but with Django-Polymorphic you get instances of the concrete subclasses. In principle, this makes the ORM more of an object database. However, this might come at the expense of performance, as more SQL queries are generated.