2016-12-21 3 views
1

私はDjango Adminを使ってデータを追加しますが、今日のフィールドは現在の時刻に更新されず、常にdjango開始時刻を表示します。django管理モデルフィールドが更新されない

model.py:

class Post(models.Model): 
    today = datetime.now().strftime("%Y%m%d") 
    date = models.CharField(max_length=8,default=datetime.now()) 
    title = models.CharField(max_length=100) 
    content = models.TextField(blank=True) 

image link of screenshot to show my page

+0

'today'フィールドは、アプリケーションの起動時にのみ設定されます.... 'date'フィールドのデフォルトフィールドと同じです。関数をデフォルトのフィールドに渡す必要があります(つまり、角括弧を削除してください)。私はあなたが今日のフィールドで何をしようとしているのかは分かりません... – Shadow

+0

[django - 値の変更後自動的に日付を更新する]の複製が可能です(http://stackoverflow.com/questions/31858418/django- update-date-after-a-value-change) – frlan

答えて

1

今日はDateFieldにする必要があります。私はあなたのstrftimeフォーマットを与えられたdatetimeではない日付だけを追加しようとしていると仮定します。また、日付はCharFieldではなく、DateFieldまたはDateTimeFieldである必要があります。

さらに、あなたは私が次はあなたがしようとしているものであることを想像docs here

、あなたは値がモデルを保存または作成のみにされるたびに更新するかどうかに応じて、add_nowまたはauto_add_nowを使用する必要がありますする:

class Post(models.Model): 
    today = models.DateField(add_now=True) 
    date = models.DateField(auto_add_now=True) 
    title = models.CharField(max_length=100) 
    content = models.TextField(blank=True) 
1

あなたはmodels.DateTimeField()を逃しています。それは次のようになります。

today = models.DateTimeField()

関連する問題