I thought I would up my python game with Django a bit by developing a large scale business app for fun. I seen the need for a common ancestor approach
Since your parent model is intended to be abstract, you should mark it as such.
class BusinessEntity(models.Model):
title = models.CharField(max_length=180)
class Meta:
abstract = True
This prevents Django from creating a separate table for it, and therefore needing a _ptr
field to point back to it from the subclass. Instead, the table for your subclass will be created to include the inherited field(s) directly.