1. ホーム
  2. python

[解決済み] DateTimeFieldが管理画面に表示されない

2022-09-25 02:43:55

質問

管理画面で日付の項目が表示されないのはなぜですか?

私のadmin.pyファイルには

from django.contrib import admin
from glasses.players.models import *
admin.site.register(Rating)

で、Ratingモデルには"date"というフィールドがあり、以下のような感じです。

date = models.DateTimeField(editable=True, auto_now_add=True)

しかし、管理システム内では、フィールドが表示されず、たとえ editable に設定されているにもかかわらず、フィールドは表示されません。 True .

誰か心当たりはありませんか?

どのように解決するのですか?

私は、その理由は auto_now_add のフィールドにあると思います。

から この回答 :

<ブロッククオート

auto_now属性が設定されているフィールドは が設定されているフィールドは、editable=Falseも継承されます。 を継承し、管理画面には表示されません。 管理パネルに表示されません。

にも記載されていますが ドキュメント :

現在の実装では auto_nowまたはauto_now_addをTrueにすると に設定すると、フィールドに editable=False およびblank=Trueが設定されます。

オブジェクトが保存されるときに現在の日時で上書きされるのであれば、フィールドを編集可能にする理由がないので、これは理にかなっています。