2013-07-23 4 views
1

Мне не понравилось, как Django Admin отображает значения DateTimeField, которые похожи на «4 сентября 2012 года, 6 утра». Я изменил это YYYY-MM-DD путем добавления этой функции в классе в admin.py:Как форматировать поле даты в администраторе Django, позволяя значения Null

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 и сортировку заголовков?

спасибо !!!

ответ

2

Выполняется метод со значением None. Поэтому сначала вам нужно проверить, нет ли этого поля:

if obj.date_ordered is None: 
    return '' 
+0

Удивительный! Спасибо огромное! –

+1

Если мой ответ ответил на ваш вопрос, пожалуйста, примите его в качестве ответа. – bouke

Смежные вопросы