数据库里存入的是出生日期birthday
,但想在admin后台显示年龄(如下图所示),那么可以通过定义
下面的年龄
函数,然后将年龄
加入list_display
元组里即可
def 年龄(self, obj=None):
if obj.birthday:
birth = obj.birthday.year
now = datetime.now().year
return f'{now - birth}'
else:
return '填写出生日期'
年龄.admin_order_field = 'birthday'
注意:如果自定义字段需要排序,那么可以给函数增加admin_order_field
属性,并赋值给模型对应的字段,
然后在ordering
元组里增加这个字段即可:ordering = ('id','department','birthday')