13

DateTimeField received a naive datetime while time zone support is activeひねりを加えた古典的な警告に遭遇しています。が提供するファクトリを使用するテストを実行すると、エラーが発生しますfactory_boy。以下は工場の例です。

from django.utils.timezone import now
import factory
class PostFactory(factory.DjangoModelFactory):
    FACTORY_FOR = models.Post
    value = 42
    created = now()

ご覧のとおり、Django のタイムゾーンの now() メソッドを使用しています。これは、単純な datetime 処理全体を処理する必要がありますが、そうではありません。モデルは次のようになります。

class Post(models.Model)
    value = models.IntegerField()
    created = models.DateTimeField(auto_now_add=True)

また、私のsettings.pyファイルで、私は設定しUSE_TZ = Trueました.

ライブラリをインストールpytzして使用し、日時オブジェクトを作成してファクトリのフィールドに入力しようとしましたが、それも機能しません。

警告を抑制できることはわかっていますが、すでにコードの他の領域で私を悩ませ始めているので、その真相を突き止めたいと思います。. .

4

2 に答える 2

0

着替えも必要timezoneですsettings.py

USE_TZがの場合False、これは Django がすべての日時を保存するタイム ゾーンです。USE_TZがの場合True、これは Django がテンプレートに日時を表示し、フォームに入力された日時を解釈するために使用するデフォルトのタイム ゾーンです。

于 2013-12-11T04:42:20.800 に答える