Django 1.7 ist vollgepackt mit neuen Features. Dazu gehört ein System zur Schema-Migration in Datenbanken, ein überarbeitetes Konzept für Django Applications und ein erweiterbares Framework für Systemchecks.
Die neue Version von Django unterstützt unter anderem Schema-Migrationen. Vor Version 1.7 konnten die Django-Entwickler die Datenbank zwar um neue Modelle ergänzen, existierende Modelle jedoch nicht ändern oder löschen. Zwar gab es dafür Tools von Drittanbietern, die Django-Entwickler haben das wichtige Feature aber nun in den Kern des Frameworks aufgenommen.
Die neuen zentralen Kommandos heißen “migrate” (es ersetzt “syncdb”), “makemigrations” (entdeckt automatisch Änderungen am Modell) und “sqlmigrate” (zeigt die SQL-Statements zu einer Migration). Eine neue Methode namens “deconstruct()” im Field-API nimmt keine Argumente entgegen und gibt ein Tuple aus “name”, “path”, “args” und “kwargs” zurück. Sie soll die Schema-Migrationen unterstützen und es in künftigen Django-Versionen erleichtern, Composite Keys einzurichten.
Neu in Django 1.7 sind auch die Applications. Dabei handelt es sich um Pythion-Pakete mit einem bestimmten Set von Features, die sich in verschiedenen Projekten einsetzen lassen. Eine Registry, die den Namen “apps” trägt, weiß über die installierten Applications Bescheid, speichert Konfigurationen und erlaubt Code-Introspektion. Weitere Details zu den Applications liefert die Dokumentation.
Ein Systemcheck-Framework erlaubt es, Django-Projekte mit einer Reihe statischer Tests zu validieren. Dabei lässt sich das Framework erweitern und mit eigenen Prüfroutinen ausstatten. Die Vorgänge lassen sich über das “check”-Kommando auslösen, das “validate” ersetzt. Bei bestimmten Schritten führt Django diese Checks implizit aus, etwa beim Aufruf von “runserver” und “migrate”. Bei ernsthaften Problemen bricht der Aufruf ganz ab, kleinere Warnungen landen auf der Konsole. Mehr Informationen liefert die Dokumentation.
Django 1.7 benötigt Python ab Version 2.7 und lässt sich über Pip installieren oder den Downloadbereich der Webseite herunterladen. Weitere Änderungen lassen sich in den Release Notes nachlesen.



