首页 > 解决方案 > 使用数据库连接计算 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)

标签: pythondjango

解决方案


推荐阅读