Se rendre au contenu

Django 2.2 LTS est sorti

1 avril 2019 par
Django 2.2 LTS est sorti
Makersquad

Date de sortie : 1er avril 2019

Documentation officielle : Django 2.2 release notes

Support : LTS (Long Term Support) — mises à jour de sécurité pendant 3 ans

C’est la release à ne pas manquer si vous cherchez la stabilité. Django 2.2 est une version LTS, ce qui signifie 3 ans de support. Elle apporte aussi des contraintes de base de données natives et bulk_update() — deux features que la communauté attendait depuis longtemps.


Les nouveautés principales

Contraintes de base de données

Nouvelles classes CheckConstraint et UniqueConstraint pour définir des contraintes au niveau de la base :

from django.db import models

class Product(models.Model):
    name = models.CharField(max_length=255)
    price = models.DecimalField(max_digits=10, decimal_places=2)

    class Meta:
        constraints = [
            models.CheckConstraint(
                check=models.Q(price__gte=0),
                name='price_positive'
            ),
        ]


bulk_update() pour les mises à jour en masse

Mettre à jour plusieurs objets efficacement :

products = Product.objects.filter(category='electronics')
for product in products:
    product.price *= 0.9  # -10%

Product.objects.bulk_update(products, ['price'])


Index partiels

Créer des index uniquement sur un sous-ensemble de lignes :

class Meta:
    indexes = [
        models.Index(
            fields=['email'],
            condition=models.Q(is_active=True),
            name='active_users_email_idx'
        ),
    ]


HttpRequest.headers

Accès simplifié aux en-têtes HTTP :

# Avant
request.META.get('HTTP_AUTHORIZATION')

# Après
request.headers.get('Authorization')


Autres améliorations

  • bulk_create() avec ignore_conflicts=True
  • migrate --plan pour prévisualiser les migrations
  • ManyToMany avec modèle intermédiaire : add(), remove(), set() fonctionnent
  • Watchman pour runserver (meilleure détection des changements)

É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 2.2 LTS est le choix évident pour les projets en production qui privilégient la stabilité. Les contraintes de base de données et bulk_update() sont des additions majeures qui améliorent vraiment le quotidien.

React 16.8 est sorti
Les Hooks arrivent