Django 1.9 以降、この動作が変更され、説明した状況の解決策をサポートするためにいくつかのカスタム機能が追加されました。
Django 1.9 では、Django は "(None)" の代わりに "-" (ダッシュ) を使用して、Django admin で NULL を表示するようになりました。
empty_value_display
さらに、特定の管理者クラスまたは特定のフィールドに対して、グローバルに :を使用して、Django 管理者のこのデフォルトの「-」(ダッシュ) 表示をカスタマイズできるようになりました。
グローバルに:
# In settings.py to show '???' instead of '-' for all null django admin values
from django.contrib import admin
admin.site.empty_value_display = '???'
Django 管理クラスのすべてのフィールド:
# admin.py to show "Unknown Item field" instead of '-' for null values in all Item fields
class ItemAdmin(admin.ModelAdmin):
empty_value_display = 'Unknown Item field'
単一フィールドの場合:
# admin.py to show "No known price" instead of '-' just for null price values in Item
class ItemAdmin(admin.ModelAdmin):
list_display = ('name','price_view')
def price_view(self, obj):
return obj.price
price_view.empty_value_display = 'No known price'