Date de sortie : 3 avril 2023
Documentation officielle : Django 4.2 release notes
Support : LTS — mises à jour de sécurité jusqu’en avril 2026
Nouvelle LTS, nouvelle référence. Django 4.2 supporte enfin Psycopg 3, ajoute le dark mode à l’admin (oui, vraiment), et permet de commenter vos tables/colonnes directement depuis les modèles. C’est la version à cibler pour les projets sérieux.
Les nouveautés principales
Support de Psycopg 3
Django supporte maintenant psycopg 3.1.8+, le nouveau driver PostgreSQL :
DATABASES = {
'default': {
'ENGINE': 'django.db.backends.postgresql',
# Fonctionne avec psycopg2 ou psycopg3
}
}
Psycopg 3 est plus moderne, mieux typé et supporte l’async nativement.
Commentaires sur les tables et colonnes
Documenter le schéma directement dans les modèles :
class Product(models.Model):
sku = models.CharField(
max_length=50,
db_comment='Stock Keeping Unit - identifiant unique produit'
)
price = models.DecimalField(
max_digits=10,
decimal_places=2,
db_comment='Prix HT en euros'
)
class Meta:
db_table_comment = 'Catalogue des produits vendus'
Thème sombre dans l’admin — enfin !
L’admin propose maintenant un toggle clair/sombre qui suit les préférences système. Vos yeux vous remercieront lors des sessions nocturnes.
Configuration des storages simplifiée
Nouveau setting STORAGES pour configurer plusieurs backends :
STORAGES = {
'default': {
'BACKEND': 'django.core.files.storage.FileSystemStorage',
},
'staticfiles': {
'BACKEND': 'django.contrib.staticfiles.storage.StaticFilesStorage',
},
's3': {
'BACKEND': 'storages.backends.s3boto3.S3Boto3Storage',
'OPTIONS': {'bucket_name': 'my-bucket'},
},
}
InMemoryStorage pour les tests
Stockage en mémoire, parfait pour les tests :
from django.core.files.storage import InMemoryStorage
@override_settings(
STORAGES={'default': {'BACKEND': 'django.core.files.storage.InMemoryStorage'}}
)
def test_upload(self):
...
Méthodes async sur les modèles
await article.asave() await article.adelete() await article.arefresh_from_db()
Autres améliorations
- makemigrations --update pour fusionner avec la dernière migration
- CharField.max_length optionnel sur PostgreSQL
- prefetch_related() supporte les querysets slicés
- Support Python 3.12
Échanger avec un expert Django
Nous revenons vers vous sous 24h.
Chez Makersquad, nous accompagnons nos clients dans la conception d’application modernes et performantes avec Django .Que vous souhaitiez lancer une nouvelle API, moderniser une architecture existante ou améliorer les performances de vos services backend, notre équipe met son expertise à votre disposition pour concevoir des solutions fiables, rapides et parfaitement adaptées à vos enjeux métier.
À retenir
Django 4.2 LTS est la nouvelle baseline pour les projets de production. Psycopg 3, dark mode, et l’API storage simplifiée font de cette release un excellent choix pour les 3 prochaines années de support.