클래식 한 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()
당신이, 내가 온 순진한 날짜 일은주의해야 장고의 시간대에서 지금은() 메소드를 사용하고 볼 수 있지만 그렇지 않은 것처럼. 또한
class Post(models.Model)
value = models.IntegerField()
created = models.DateTimeField(auto_now_add=True)
가, 내 settings.py 파일에, 나는 USE_TZ = True
를 설정 : 다음과 같은 모델이 어떻게 표시되는지를 보여줍니다.
pytz
을 설치하고 라이브러리를 사용하여 datetime 개체를 만들어 공장에서 필드를 채우지 만 작동하지 않습니다.
나는 경고를 억제 할 수 있지만 이미 코드의 다른 영역에서 나를 물결 치기 시작했다는 것을 알고 있으며, 그 아래쪽으로 들어가고 싶다. . .
['dutnow()'가 'USE_TZ = True' 인 경우 인식 객체를 반환합니다.] (https://docs.djangoproject.com/en/dev/ref/utils/#django.utils.timezone.now) – jfs
알아. 그래서 DateTimeField를 채우기 위해 d.u.t.now()를 사용하고 있기 때문에 나는 오류에 혼란스러워합니다. – user1427661
이 코드 부분에 경고 메시지가 표시됩니까? – Rohan