如何在允许Null值的情况下格式化Django admin中的日期字段

时间:2013-07-23 05:37:22

标签: django python-2.7 django-admin

我不喜欢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'对象没有属性'strftime'

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

谢谢!!!

1 个答案:

答案 0 :(得分:2)

您正在对None值执行方法。所以你首先要检查字段是否为None:

if obj.date_ordered is None:
    return ''