Release notes
Django 2.1 release notes
The new ModelAdmin.get_deleted_objects() method allows customizing the deletion process of the delete view and the “delete selected” action. The actions.html, change_list_results.html, date_hierarchy.html, pagination.html, prepopulated_fields_js.html, search_form.html, and submit_line.html templates can now be overridden per app or per model (besides overridden globally).
dev
Release notes
Django 2.1 release notes
Support for SQLite < 3.7.15 is removed. The date format of Set-Cookie’s Expires directive is changed to follow RFC 7231 Section 7.1.1.1 instead of Netscape’s cookie standard. Hyphens present in dates like Tue, 25-Dec-2018 22:26:13 GMT are removed.
dev
Release notes
Django 2.1.1 release notes
Fixed translation failure of DurationField’s “overflow” error message (#29623). Fixed a regression where the admin change form crashed if the user doesn’t have the ‘add’ permission to a model that uses TabularInline (#29637).
dev
Release notes
Django 2.1.15 release notes
… parent model but edit permissions to the inline model, would display a read-only view of the parent model but editable forms for the inline. Submitting these forms would not allow direct edits to the parent model, but would trigger the …
dev
Release notes
Django 2.1.2 release notes
Fixed a crash when a user with the view (but not change) permission made a POST request to an admin user change form (#29809).
dev
Release notes
Django 2.2.8 release notes
… parent model but edit permissions to the inline model, would display a read-only view of the parent model but editable forms for the inline. Submitting these forms would not allow direct edits to the parent model, but would trigger the …
dev
Release notes
Django 3.1 release notes
Django now includes models.JSONField and forms.JSONField that can be used on all supported database backends. Both fields support the use of custom JSON encoders and decoders.
dev
Release notes
Django 3.1 release notes
If you want to preserve the 30 character limit for first names, use a custom form: If you wish to keep this restriction in the admin when editing users, set UserAdmin.form to use this form:
dev
Release notes
Django 3.2 release notes
The new absolute_max argument for formset_factory(), inlineformset_factory(), and modelformset_factory() allows customizing the maximum number of forms that can be instantiated when supplying POST data. See Limiting the maximum number of instantiated forms for more details.
dev
Release notes
Django 4.1 release notes
The admin history view is now paginated. Related widget wrappers now have a link to object’s change form. The AdminSite.get_app_list() method now allows changing the order of apps and models on the admin index page.
dev
Release notes
Django 4.1 release notes
A nested atomic block marked as durable in django.test.TestCase now raises a RuntimeError, the same as outside of tests. SimpleTestCase.assertFormError() and assertFormsetError() now support passing a form/formset object directly.
dev
Release notes
Django 5.1 release notes
The new AdminUserCreationForm and the existing AdminPasswordChangeForm now support disabling password-based authentication by setting an unusable password on form save. This is now available in the admin when visiting the user creation and password change pages.
dev
Release notes
Django 5.2 release notes
Django now supports specifying the following attributes to customize form rendering: BaseRenderer.bound_field_class at the project level, Form.bound_field_class at the form level, and Field.bound_field_class at the field level.
dev
Release notes
Django 5.2.2 release notes
Fixed a regression in Django 5.2 where admin’s filter_horizontal buttons lacked type="button", causing them to intercept form submission when pressing the Enter key (#36423).
dev
Release notes
Django 6.0 release notes
The DjangoDivFormRenderer and Jinja2DivFormRenderer transitional form renderers are removed. BaseDatabaseOperations.field_cast_sql() is removed. request is required in the signature of ModelAdmin.lookup_allowed() subclasses. Support for calling format_html() without passing args or kwargs is removed.
dev
Release notes
Django 6.0.1 release notes
Fixed a visual regression in Django 6.0 for admin form fields grouped under a <fieldset> in Safari (#36807). Fixed a crash in Django 6.0 caused by infinite recursion when calling repr() on an unevaluated django.utils.csp.LazyNonce instance (#36810).
dev
Release notes
Django version 0.96 release notes
Backwards-incompatible changes
The format of the constraint names Django generates for foreign key references have changed slightly.
4.2
5.0
5.1
5.2
6.0
Release notes
Porting your apps from Django 0.96 to 1.0
Common changes
The Django administrative interface (django.contrib.admin) has been completely refactored; admin definitions are now completely decoupled from model definitions, the framework has been rewritten to use Django’s new form-handling library and redesigned with extensibility and customization in mind.
4.2
5.0
5.1
5.2
6.0
Release notes
Porting your apps from Django 0.96 to 1.0
Less-common changesInternationalization
This means you can no longer use a link to access the view, but must use a form submission of some kind (e.g. a button).
4.2
5.0
5.1
5.2
6.0
Release notes
Django 1.1 release notes
What’s new in Django 1.1
Instances of Django forms (see the forms overview) now have two additional methods, hidden_fields() and visible_fields(), which return the list of hidden – i.e., <input type="hidden"> – and visible fields on the form, respectively.
4.2
5.0
5.1
5.2
6.0