Bisher habe ich nicht darauf geachtet, ob der MySQL Server mit NO_ZERO_DATE oder im Modus TRADITIONAL arbeitet. Siehe: http://dev.mysql.com/doc/refman/5.0/en/ ... -mode.html
Das hat zur folge, das datetime felder in meine DB falsch eingetragen waren und nicht wirklich NULL sind.
Damit gibt es aber Probleme mit django, siehe: http://code.djangoproject.com/ticket/443
Den einfachen Fix den ich dort aufgeführt habe, bringt es nicht wirklich. Es hilft zwar bei inspectdb, nicht jedoch später. Außerdem wird der Patch nicht in django integriert, die Bug Kommentar von dustin@spy.net
Das dumme ist, das man innerhalb von django die Felder nicht korrigieren kann, auch mit "raw SQL" nicht, weil es dennoch zum traceback führt. Ich weiß nicht ob man evtl. den errorhandler von MySQLdb verbiegen kann, oder so...
Jedenfalls hab ich mir dafür nun ein kleines Skript geschrieben, welches die Felder korrigiert:
http://pylucid.net/trac/browser/branche ... SQL_fix.py
Sollte kein Problem sein, das Skript für sich anzupassen.