530 Stimmen

RuntimeWarning: DateTimeField hat ein nicht lokalisiertes Datum und Uhrzeit erhalten

Ich versuche, eine einfache E-Mail mit IPython zu senden. Ich habe noch keine Modelle eingerichtet, bekomme aber trotzdem diesen Fehler. Was kann getan werden?

Fehler: /home/sourabh/Django/learn/local/lib/python2.7/site-packages/django/db/models/fields/init.py:827: RuntimeWarning: DateTimeField hat ein naives Datum/Uhrzeit (2013-09-04 14:14:13.698105) erhalten, während die Unterstützung für Zeitzonen aktiv ist. RuntimeWarning)

Versucht: Der erste Schritt ist, USE_TZ = True zu Ihrer Einstellungsdatei hinzuzufügen und pytz zu installieren (wenn möglich).

Fehler geändert:

(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 hat ein naives Datum/Uhrzeit (2013-09-05 00:59:32.181872) erhalten, während die Unterstützung für Zeitzonen aktiv ist.
  RuntimeWarning)

1voto

Gogicool Punkte 131

Ich benutze Funktion, um Datum -> datetime im bewussten Format wie folgt umzuwandeln:

from datetime import datetime, date
from django.utils import timezone

def date_to_datetime_aware(d:date) -> datetime:
    dt = datetime.combine(d, datetime.min.time())
    dt_aware = timezone.make_aware(dt)
    return dt_aware

Es hilft mir, die Django-Runtime-Warnung zu vermeiden.

0voto

henyxia Punkte 89

Ich bin auf diese Warnung gestoßen, als ich das folgende Modell verwendet habe.

from datetime import datetime

class MyObject(models.Model):
    my_date = models.DateTimeField(default=datetime.now)

Um es zu beheben, bin ich auf das folgende Standarddatum umgestiegen.

from django.utils import timezone

class MyObject(models.Model):
    my_date = models.DateTimeField(default=timezone.now)

CodeJaeger.com

CodeJaeger ist eine Gemeinschaft für Programmierer, die täglich Hilfe erhalten..
Wir haben viele Inhalte, und Sie können auch Ihre eigenen Fragen stellen oder die Fragen anderer Leute lösen.

Powered by:

X