RuntimeWarning: DateTimeField recibió una cita inocente

Estoy tratando de enviar un correo simple usando IPython. No he configurado ningún modelo que aún reciba este error. ¿Qué se puede hacer?

Error: /home/sourabh/Django/learn/local/lib/python2.7/site-packages/django/db/models/fields/ init .py: 827: RuntimeWarning: DateTimeField recibió una fecha de inicio ingenua (2013-09-04 14: 14: 13.698105) mientras el soporte de zona horaria está activo. Runtime Warning)

Intentó: el primer paso es agregar USE_TZ = True a su archivo de configuración e instalar pytz (si es posible).

Error cambiado:

 (learn)sourabh@sL:~/Django/learn/event$ python manage.py shell /home/sourabh/Django/learn/local/lib/python2.7/site-packages/django/db/backends/sqlite3/base.py:53: RuntimeWarning: SQLite received a naive datetime (2013-09-05 00:59:32.181872) while time zone support is active. RuntimeWarning) 

El problema no está en la configuración de Django, sino en la fecha pasada al modelo. Así es como se ve un objeto consciente de la zona horaria:

 >>> from django.utils import timezone >>> import pytz >>> timezone.now() datetime.datetime(2013, 11, 20, 20, 8, 7, 127325, tzinfo=pytz.UTC) 

Y aquí hay un objeto ingenuo:

 >>> from datetime import datetime >>> datetime.now() datetime.datetime(2013, 11, 20, 20, 9, 26, 423063) 

Entonces, si está pasando la fecha de correo electrónico a cualquier parte (y finalmente llega a algún modelo), simplemente use Django’s now() . Si no es así, probablemente sea un problema con un paquete existente que recupera la fecha sin zona horaria y puede parchear el paquete, ignorar la advertencia o establecer USE_TZ en False.

Use la función django.utils.timezone.make_aware para que sus objetos de fecha y hora naive sean conscientes de la zona horaria y evite esas advertencias.

aquí está el doc sobre el problema que enfrenta la zona horaria y los accesorios

Solo para arreglar el error para establecer la hora actual

 from django.utils import timezone import datetime datetime.datetime.now(tz=timezone.utc) # you can use this value