... what happened!?
Florian Demmer
Django Meetup, 2022-05-30
JSONField for all supported database backends
The SESSION_COOKIE_SAMESITE allows 'None' (string)
trans and blocktrans template tags renamed to translate and blocktranslate
AbstractUser.first_name max_length increased to 150
The admin no longer supports Internet Explorer. 😿
default_app_config deprecated again
New decorators for display functions in admin:
foo.short_description = 'bar' ⤳ @admin.display(description='bar')
Customizing type of auto-created primary keys
settings: DEFAULT_AUTO_FIELD or per app: AppConfig.default_auto_field
Functional indexes: *expressions argument of Index()
migration from pytz to zoneinfo
Python >= 3.9 or backports.zoneinfo package
Basic Redis cache backend (redis-py >= 3.0.0)
Template based form rendering
Form.template_name, Form.render(), ...
Functional unique: *expressions arg UniqueConstraint()
ArraySubquery() expression, trigram_word_similar lookup
More form rendering:
Form.as_div()
FORM_RENDERER = "django.forms.renderers.DjangoDivFormRenderer"
Asynchronous ORM interface
PostgreSQL *AutoField are now identity columns rather than serial columns with sequences.
Dropped support for PostgreSQL 10
https://docs.djangoproject.com/en/dev/releases/3.1
https://docs.djangoproject.com/en/dev/releases/3.2
https://docs.djangoproject.com/en/dev/releases/4.0
https://docs.djangoproject.com/en/dev/releases/4.1
my twitter: @fdemmer
slides: https://slides.com/fdemmer