2012-04-04 4 views
0

Ich schrieb einen Unittest und bemerkte, dass ich dem modes.DateTimeField kein Datetime-Objekt zuweisen konnte, ohne die Zeitdetails zu verlieren. Dh:datetime zuweisen modes.DateTimeField scheint die Zeit fallen zu lassen

class Foo(models.Model): 
    created = models.DateTimeField(
     editable=False) 

my_time = datetime(2012, 01, 02, 1) 
print "My Time", Foo.objects.create(created=my_time).created 

Drucke:

Meine Zeit 2012-01-02 00:00:00

Allerdings, wenn ich

print "My Time", Foo.objects.create(created='2012-01-02 01:00:00').created 

erhalte ich:

Meine Zeit 2012-01-02 01:00:00

Was ist die richtige Art der Zuweisung einer Datetime zu einem models.DateTimeField?

+0

Ich habe Ihren Code getestet und es funktioniert für mich, ich kann auch keinen Fehler in Ihrem Code sehen. – Jingo

+0

Was wird angezeigt, wenn Sie my_time vor der anderen Druckzeile drucken? – joshcartme

+0

@joshcartme Ich hätte das einbeziehen sollen. Es druckt die richtige Zeit. –

Antwort

0

Sie ordnen die Datetime in der richtigen Weise zu.

Wenn Sie einen reproduzierbaren Testfall kommen können, dann ist dies ein Fehler, und Sie sollen ein Ticket bei http://code.djangoproject.com/

Als Minimum-Datei, müssen Sie ein komplettes models.py (einschließlich solcher Dinge wie import Aussagen), alle Einstellungen, die Sie ändern müssen, aus einer Standarddatei , und eine Folge von Befehlen, die Sie von einer Python-Shell ausführen können, die das Problem veranschaulichen.

Die Datenbank, die Sie verwenden, wird wahrscheinlich relavent - ist dies ein Problem, das nur SQLite oder MySQL betrifft, oder verwenden Sie einen Datenbankadapter eines Drittanbieters?

Wenn Sie das zusammenbekommen können, dann schreiben Sie auf jeden Fall einen Fehlerbericht - die Hilfe, die Sie dort finden, wird auch in Richtung der Lösung des zugrunde liegenden Problems für alle anderen gehen.

Verwandte Themen