Вы можете добавить индивидуальное сохранение для каждой из отдельных моделей, чтобы установить желаемую строку:
class ForWorkModel(ModelA):
def save(self, *args, **kwargs):
if not self.pk: # only change if the object is new
self.type_of_address = "work" # or CHOICES[0][0]
super().save(*args, **kwargs)
или, я не уверен на 100%, но это может сработать:
class ModelA(models.Model):
type_of_address = models.CharField(choices=CHOICES, default=cls.get_default_address)
class ForWorkModel(ModelA):
def get_default_address():
return "work"