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.
On Python 3.7+, the intermediate-level directories of the file system cache had
the system’s standard umask rather than 0o077
(no group or others
permissions).
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 pre-loaded 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).déc. 07, 2021