我有一个带有出生日期字段的模型,我使用python decorator@property创建了一个年龄字段,我希望能够在flask admin列表视图中按年龄排序,但我得到了以下错误:
sqlalchemy.exc.ArgumentError: SQL expression object expected, got object of type <class 'property'> instead
我就是这样做的:
class User(db.model, UserMixin):
...
data_de_nascimento = db.Column(db.Date)
...
@property
def idade(self):
today = date.today()
born = self.data_de_nascimento
return today.year - born.year - ((today.month, today.day) < (born.month, born.day))
我已经尝试为SQLAlchemy@hybrid_属性更改@property,但我不确定这是否是正确的方法,因为我并不真正理解它。尽管如此,我还是犯了以下错误:(我试着阅读文档,但没有太多意义)
AttributeError: Neither 'InstrumentedAttribute' object nor 'Comparator' object associated with User.data_de_nascimento has an attribute 'year'
我不知道该怎么做,有人能给我一个简单的工作解决方案吗
我的第一个想法是直接在数据库中保存年龄,但我不知道如何在每次用户生日时更新它
我还认为,如果我可以更改Flask admin生成的查询,只按DOB而不是年龄进行排序,这将是可行的,但我还没有找到一种方法来做到这一点
目前没有回答
相关问题 更多 >
编程相关推荐