7

django 1.4 を使用して、datetimefield を持つモデルがあります。デフォルト値として使用する django.utils.timezone をインポートしました。

from django.utils import timezone
date = models.DateTimeField(default=timezone.now)

ただし、DateTimeField が単純な日付を受け取ったという警告が引き続き表示されます。USE_TZ を true に設定したので、認識された日時を返す必要があります

4

4 に答える 4

2

フィールドはデフォルトでnull可能ではないため、tzを認識しないデフォルトの日付値を入れるdjangos。null を true に設定すると、代わりに日付が NULL に設定されるため、警告は発生しません。

 date = models.DateTimeField(default=timezone.now, null=True)
于 2012-04-07T00:43:25.250 に答える
-1

これが問題を回避していることは知っていますがauto_now_add=True、代わりに自分の分野で試してみましたか?あなたが望むもののために使う必要はありませんdefault

一方、実際に持っている場合は、バージョンも機能するはずUSE_TZ=Trueです。

私はそれが機能すると思います、そしてあなたはあなたがデフォルトからではなく、代わりに直接フィールドRunTimeWarningを設定したどこかからを取得します。date警告がより正確にトリガーされるタイミングを絞り込んでください。

于 2012-04-06T16:55:55.450 に答える
-1

now()

現在の時点を表す認識済みまたは単純な日時をUSE_TZ返しTrueますFalse

https://docs.djangoproject.com/en/dev/ref/utils/#django.utils.timezone.now

于 2012-04-06T05:57:50.870 に答える