---
title: "Notes de publication de Django 3.2.1"
version: 4.2
locale: fr
source: https://docs.djangoproject.com/fr/4.2/releases/3.2.1/
canonical: https://djangodocs.dev/fr/4.2/releases/3.2.1/
---
# Notes de publication de Django 3.2.1

*4 mai 2021*

Django 3.2.1 corrige un problème de sécurité et plusieurs bogues de la version 3.2.

## CVE-2021-31542 : traversée potentielle de répertoires via des fichiers téléversés

`MultiPartParser`, `UploadedFile` et `FieldFile` permettaient des traversées de répertoires via des fichiers téléversés avec des noms de fichiers trafiqués à dessein.

In order to mitigate this risk, stricter basename and path sanitation is now
applied.

## Correction de bogues

- Détection de GDAL 3.2 corrigée sous Windows ([#32544](https://code.djangoproject.com/ticket/32544)).
- Correction d’un bogue de Django 3.2 où les sous-classes de `BigAutoField` et `SmallAutoField` n’étaient pas admises dans le réglage [`DEFAULT_AUTO_FIELD`](/fr/4.2/ref/settings/#std-setting-DEFAULT_AUTO_FIELD) ([#32620](https://code.djangoproject.com/ticket/32620)).
- Correction d’une régression dans Django 3.2 produisant un plantage de `QuerySet.values()/values_list()` après `QuerySet.union()`, `intersection()` et `difference()` lorsque le tri se faisait sur un champ non annoté ([#32627](https://code.djangoproject.com/ticket/32627)).
- Suite à une régressions dans Django 3.2, l’affichage du message d’exception a été restauré sur la page de débogage technique 404 ([#32637](https://code.djangoproject.com/ticket/32637)).
- Correction d’un bogue dans Django 3.2 où un contrôle système plante lors d’un accès inverse à des liaisons un-à-un dans `CheckConstraint.check` ou `UniqueConstraint.condition` ([#32635](https://code.djangoproject.com/ticket/32635)).
- Correction d’une régression dans Django 3.2 qui provoquait un plantage de [`ModelAdmin.search_fields`](/fr/4.2/ref/contrib/admin/#django.contrib.admin.ModelAdmin.search_fields) lors de recherche avec des phrases dont les guillemets ne sont pas fermés ([#32649](https://code.djangoproject.com/ticket/32649)).
- Correction d’un bogue dans Django 3.2 où des erreurs de recherche de variable étaient journalisées en produisant le gabarit de plan de site si des alternatives n’étaient pas définies ([#32648](https://code.djangoproject.com/ticket/32648)).
- Correction d’une régression dans Django 3.2 qui provoquait un plantage lors de la combinaison d’objets `Q()` contenant des expressions booléennes ([#32548](https://code.djangoproject.com/ticket/32548)).
- Correction d’une régression dans Django 3.2 qui provoquait un plantage de `QuerySet.update()` sur un jeu de requête trié par des champs hérités ou joints avec MySQL et MariaDB ([#32645](https://code.djangoproject.com/ticket/32645)).
- Correction d’une régression dans Django 3.2 qui provoquait un plantage lors du décodage d’une valeur de cookie utilisée par `django.contrib.messages.storage.cookie.CookieStorage`, dans le format pré Django 3.2 ([#32643](https://code.djangoproject.com/ticket/32643)).
- Correction d’une régression dans Django 3.2 qui empêchait l’appui sur majuscule de sélectionner plusieurs lignes dans la liste pour modification du site d’administration ([#32647](https://code.djangoproject.com/ticket/32647)).
- Correction d’un bogue dans Django 3.2 où un contrôle système plante sur le réglage [`STATICFILES_DIRS`](/fr/4.2/ref/settings/#std-setting-STATICFILES_DIRS) contenant une liste de tuples binaires `(préfixe, chemin)` ([#32665](https://code.djangoproject.com/ticket/32665)).
- Correction d’un vieux bogue impliquant des combinaisons par bits de jeux de requête dans des sou-requêtes, ayant commencé à se manifester dans Django 3.2 en raison d’une autre correction utilisant `Exists` pour exclure des liaisons multivaluées ([#32650](https://code.djangoproject.com/ticket/32650)).
- Correction d’un bogue dans Django 3.2 où des erreurs de recherche de variable étaient journalisées en produisant certains gabarits du site d’administration ([#32681](https://code.djangoproject.com/ticket/32681)).
- Fixed a bug in Django 3.2 where an admin changelist would crash when deleting
  objects filtered against multi-valued relationships ([#32682](https://code.djangoproject.com/ticket/32682)). The
  admin changelist now uses `Exists()` instead of `QuerySet.distinct()`
  because calling `delete()` after `distinct()` is not allowed in Django
  3.2 to address a data loss possibility.
- Correction d’une régression dans Django 3.2 où l’environnement du processus appelant n’était pas transmis à la commande dbshell\` avec PostgreSQL ([#32687](https://code.djangoproject.com/ticket/32687)).
- Correction d’une régression de performance dans Django 3.2 lors de la construction de filtres complexes avec des sous-requêtes ([#32632](https://code.djangoproject.com/ticket/32632)). Comme effet de bord, l’API privée pouvant vérifier l’égalité de `django.db.sql.query.Query` a été supprimée.
