【问题标题】:How to format date field in Django admin while allowing Null values如何在允许 Null 值的同时在 Django admin 中格式化日期字段
【发布时间】:2013-07-22 01:14:08
【问题描述】:

我不喜欢 Django Admin 显示 DateTimeField 值的方式,例如“2012 年 9 月 4 日,早上 6 点”。我通过在 admin.py 的类中添加此函数将其更改为 YYYY-MM-DD:

def d_ordered(self, obj):
    return obj.date_ordered.strftime('%Y-%m-%d')
d_ordered.short_description = 'Date Ordered'
d_ordered.admin_order_field = 'date_ordered'

有效并允许字段标题排序。

但是,如果任何日期记录为 NULL,那么我会收到错误 'NoneType' object has no attribute 'strftime'。

如何在仍然允许 NULL 日期值和标题排序的同时修复此错误?

谢谢!!!

【问题讨论】:

    标签: django python-2.7 django-admin


    【解决方案1】:

    您正在对 None 值执行方法。因此,您首先必须检查该字段是否为无:

    if obj.date_ordered is None:
        return ''
    

    【讨论】:

    • 太棒了!非常感谢!
    • 如果我的回复回答了您的问题,请接受它作为答案。
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2012-02-01
    • 1970-01-01
    • 2019-11-20
    • 2022-01-23
    • 1970-01-01
    • 2015-11-10
    • 1970-01-01
    相关资源
    最近更新 更多