python 提升生活和办公效率

2020-02-14 [django] admin 自定义lis

2020-02-15  本文已影响0人  alue

数据库里存入的是出生日期birthday,但想在admin后台显示年龄(如下图所示),那么可以通过定义
下面的年龄函数,然后将年龄加入list_display元组里即可

image.png
    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')

上一篇下一篇

猜你喜欢

热点阅读