Я видел много примеров расчета возраста в модели django (, такой как этот вопрос ). Однако большинство из них не имеют связи с базой данных и являются просто пустыми моделями, которые можно использовать при передаче в базу данных. Чтобы упростить мой пример, у меня есть django модель записей о людях, подключенных к SQL Серверу. Я хочу, чтобы при запросе из БД также вычислялся текущий возраст человека. Если я звоню age
, на мой взгляд, я получаю следующую ошибку: Cannot resolve keyword 'age' into field
Как я могу это сделать, даже если возраст не является текущим полем базы данных?
class Person(model.Model)
personid = models.IntegerField(db_column='PersonId', primary_key=True)
birth_date = models.DateField(db_column='DOB')
@property
def get_age(self):
return relativedelta(self.birth_date.days, datetime.date.now()).years
def save(self, *args, **kwargs):
self.age = self.get_age()
super(Person, self).save(*args, **kwargs)