1er septembre 2020
Django 3.1.1 fixes two security issues and several bugs in 3.1.
Avec Python 3.7+, le mode FILE_UPLOAD_DIRECTORY_PERMISSIONS
n’était pas appliqué aux répertoires de niveau intermédiaire créés dans le processus de téléversement de fichiers et pour les répertoires de niveau intermédiaire des fichiers statiques collectés lors de l’utilisation de la commande d’administration collectstatic
.
Vous devriez examiner et corriger manuellement les permissions sur les répertoires de niveau intermédaire existants.
Avec Python 3.7+, les répertoires intermédiaires du cache par système de fichiers possédaient la valeur umask
standard du système au lieu de 0o077
(aucune permission de groupe ou d’autres (others)).
select_for_update()
. Lorsqu’on utilisait des champs relationnels pointant vers un modèle mandataire dans le paramètre of
, le modèle correspondant n’était pas verrouillé (#31866).TemplateView.get_context_data()
(#31877).MiddlewareMixin.process_request()
et process_response()
a été forcée dans un contexte asynchrone (#31905).__in
des transformations de clé de JSONField
a été corrigée avec MariaDB, MySQL, Oracle et SQLite (#31936).CommonPasswordValidator
and settings.py
generated by the
startproject
command, when user didn’t have permissions to all
intermediate directories in a Django installation path (#31912).get_response
callable in various builtin
middlewares (#31928).QuerySet.order_by()
crash on PostgreSQL when ordering and
grouping by JSONField
with a custom
decoder
(#31956). As a
consequence, fetching a JSONField
with raw SQL now returns a string
instead of preloaded data. You will need to explicitly call json.loads()
in such cases.QuerySet.delete()
crash on MySQL, following a performance
regression in Django 3.1 on MariaDB 10.3.2+, when filtering against an
aggregate function (#31965).django.contrib.admin.EmptyFieldListFilter
crash when using on
reverse relations (#31952).mars 08, 2023