2012-07-19 8 views
9

Django me está dando algunas advertencias de tiempo de ejecución (en código que no escribí).Django: cómo obtener rastros de pila para advertencias de tiempo de ejecución

¿Cómo puedo obtener Django para que me dé una stacktrace, para que pueda ver lo que está causando esto?

/usr/local/lib/python2.7/dist-packages/django/db/models/fields/__init__.py:808: 
RuntimeWarning: DateTimeField received a naive datetime (2012-07-19 09:36:16.161479) 
while time zone support is active. 
    RuntimeWarning 
+1

que hizo mi respuesta responde a su pregunta? – dalore

+0

Hola sobre aceptar una respuesta al menos. – dalore

+0

Hola, lo siento, solo acabo de ver tu respuesta. – fadedbee

Respuesta

14

A partir de los documentos en: https://docs.djangoproject.com/en/1.10/topics/i18n/timezones/#code

Durante el desarrollo, puede activar este tipo de advertencias en excepciones y obtener un rastreo añadiendo lo siguiente a su archivo de configuración:

import warnings 
warnings.filterwarnings(
    'error', r"DateTimeField .* received a naive datetime", 
    RuntimeWarning, r'django\.db\.models\.fields') 
-3

fuente de Django le dice lo que acaba de ocurrir:

def get_prep_value(self, value): 
    value = self.to_python(value) 
    if value is not None and settings.USE_TZ and timezone.is_naive(value): 
     # For backwards compatibility, interpret naive datetimes in local 
     # time. This won't work during DST change, but we can't do much 
     # about it, so we let the exceptions percolate up the call stack. 
     warnings.warn(u"DateTimeField received a naive datetime (%s)" 
         u" while time zone support is active." % value, 
         RuntimeWarning) 
     default_timezone = timezone.get_default_timezone() 
     value = timezone.make_aware(value, default_timezone) 
    return value 
+1

Gracias, pero sé esto. Estoy buscando lo que causó la advertencia de tiempo de ejecución. Este no es el único ... – fadedbee

-2

Esto significa que habilitó el apoyo zona horaria en Django; pero le pasó un objeto de fecha y hora que no tiene ninguna información de zona horaria asociada.

Si desea la compatibilidad con la zona horaria de django, los objetos de fecha y hora utilizados deben tener en cuenta la zona horaria.

El documentation on timezone support proporciona una manera de convertir sus objetos de fecha y hora en aquellos con timzeones.

+1

Gracias, pero sé esto. Estoy buscando lo que causó la advertencia de tiempo de ejecución. Este no es el único ... – fadedbee

Cuestiones relacionadas