Переделать-то можно, но тогда это это поле придётся добавлять в схему. А заполнять при сохранении:
class Zzz(Superclass):
aaa = models.ForeignKey(Aaa)
bbb = models.ForeignKey(Bbb)
ccc = models.ForeignKey(Ccc)
# Объявили поле и на всякий случай запретили редактировать его из админки или через форму.
ddd = models.IntegerField(editable=False, default=0)
@property
def eee(self):
return self.aaa, self.bbb, self.ccc
def save(self, *args, **kwargs):
# Непосредственно перед физическим сохранением вычисляем значение поля
self.ddd = reduce((lambda x, y: x + y), [e.some_param for e in self.eee])
return super(Zzz, self).save(*args, **kwargs)