This contains the majority of important changes made since Django 1.6. Some, such as GIS or finer details on writing database backends, were not fully represented. Some private APIs have also been left off for deeper internal stuff.
i18n_patterns() no longer takes prefix=include()
app_name argument has been replaced with passing a two-tuple of (urls, app_name)namespace= instead of a third tuple argument (if passing a tuple)patterns() is replaced with a standard list
url()reverse() no longer takes a dotted view pathshortcut() was removedurl() requires a function instead of a dotted view pathResolverMatch.app_name now contains the full namespace path if using nested namespaces, and an empty string if there is no namespacehandler404 must now explicitly return a response with a 404 error code.app_name can be set in a urls.py file to specify the default app name for all URLs.AdminSite's URLs, pass admin.site.urls as the view instead of include(admin.site.urls)django.contrib.admin.util was Renamed to django.contrib.admin.utilsdjango.contrib.admin.validation module is goneModelAdmin
ModelAdmin.declared_fieldsets is gone (Internal API). Use ModelAdmin.get_fieldsets() instead.ModelAdmin.get_formsets() was replaced with ModelAdmin.get_formsets_with_inlines()ModelAdmin.validator_class and ModelAdmin.default_validator_class has been replaced with the new checks_class attributeModelAdmin.validate() was replaced with ModelAdmin.check()allow_tags= boolean for functions was removed. Use format_html() or similar in the function body instead.myfield_id) to list_display, the ID will now be shown instead of the string value of the related objectInlineAdminForm.original_content_type_id was removedvendor/jquery subdirectory.