Django 1.7 released

Django 1.7 has just been released! I've only skimmed through the release annoucement but there are some really nice features in Django 1.7. Schema migrations is probably the biggest one for me. Some of the many many improvements in Django 1.7.

  • Schema migrations. South was working okay but nothing beats built in I guess. I've followed the project on Kickstarter and it's nice to finally see it in core.

    Django now has built-in support for schema migrations. It allows models to be updated, changed, and deleted by creating migration files that represent the model changes and which can be run on any development, staging or production database.

  • New system check framework

    We’ve added a new System check framework for detecting common problems (like invalid models) and providing hints for resolving those problems. The framework is extensible so you can add your own checks for your own apps and libraries.

  • Form add_error() method.

    The new adderror() method allows adding errors to specific form fields from anywhere without having to worry about the details such as creating instances of django.forms.utils.ErrorList or dealing with Form.cleaneddata. This new API replaces manipulating Form._errors which now becomes a private API.

  • Some admin improvements, one of them:

    You can now implement siteheader, sitetitle, and index_title attributes on a custom AdminSite in order to easily change the admin site’s page title and header text. No more needing to override templates!

  • Form errors as JSON

    The new Form.errors.asjson() method is a convenience method which returns error messages along with error codes serialized as JSON. asjson() uses as_data() and gives an idea of how the new system could be extended.

There is a lot more in Django 1.7, check out the release annoucement for full details.

This'll be the perfect excuse to try out Django 1.7 with Django REST framework and AngularJS.