1

Django Admin が「2012 年 9 月 4 日午前 6 時」のように DateTimeField 値を表示する方法が気に入りませんでした。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 の日付値とヘッダーの並べ替えを許可しながら、このエラーを修正するにはどうすればよいですか?

ありがとうございました!!!

4

1 に答える 1

2

None 値に対してメソッドを実行しています。したがって、最初にフィールドが None でないかどうかを確認する必要があります。

if obj.date_ordered is None:
    return ''
于 2013-07-23T06:38:26.323 に答える