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
して使用し、日時オブジェクトを作成してファクトリのフィールドに入力しようとしましたが、それも機能しません。
警告を抑制できることはわかっていますが、すでにコードの他の領域で私を悩ませ始めているので、その真相を突き止めたいと思います。. .