Вы можете сделать так, чтобы все ваши модели наследовали новую модель, для которой определена функция property
, чтобы получить / установить правильную переменную.
class BaseNameClass(models.Model)
def getfname(self):
if hasattr(self, 'first_name'): return self.first_name
if hasattr(self, 'prenom'): return self.prenom
if hasattr(self, 'forename'): return self.forename
def setfname(self, x):
if hasattr(self, 'first_name'): self.first_name = x
if hasattr(self, 'prenom'): self.prenom = x
if hasattr(self, 'forename'): self.forename = x
firstname = property(getfname, setfname)
И затем изменить ваши модели, чтобы все наследовали от них.Это будет немного медленнее, но мы говорим о нано и миллисекундах.
Если бы у вас был объект-потомок с именем person
, вы бы получили доступ к имени просто:1011 *