python - 使用数据库连接计算 Django 模型中的年龄
问题描述
我见过很多在 django 模型中计算年龄的例子(比如这个问题)。但是,大多数都没有与数据库的连接,只是用于推送到数据库的空模型。为了简化我的示例,我有一个连接到 SQL Server 的人员记录的 django 模型。我想,当我从数据库查询时,也计算这个人的当前年龄。如果我打电话给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)