Crédit : David Clode
Django 4.1, une toute nouvelle variante de l’important Python -, inclut des capacités telles que des gestionnaires asynchrones et une interface ORM, mais apporte également des modifications incompatibles avec les versions antérieures.
Dévoilé le 3 août, Django 4.1 est accessible depuis le site Web des tâches de Django. La nouvelle version introduit des gestionnaires asynchrones pour les vues basées sur les classes ; afficher les sous-classes peut désormais définir des gestionnaires d’approche HTTP asynchrone, selon les notes de lancement.
Pour le mappage objet-relationnel asynchrone, QuerySet
fournit désormais une interface utilisateur asynchrone pour toutes les opérations d’accès aux données. La toute nouvelle interface permet aux développeurs d’écrire du code asynchrone sans avoir à composer des opérations ORM dans sync_to_async()
. À ce stade, les opérations de base de données sous-jacentes restent simultanées.
Django 4.1 prend en charge Python 3.8, Python 3.9 et Python 3.10 , mais uniquement la dernière variante de chaque série. Dans Django 4.1 :
- les contraintes
Inspect
,unique
etexemption
définies dans leMeta. les contraintes
alternatives sont désormais vérifiées lors de la validation de la conception.- De nouveaux modèles de conception de type basés sur sont proposés, pour aider les utilisateurs qui ont des lecteurs d’écran et d’autres innovations d’assistance .
- Un paramètre de transition
CSRF_COOKIE_MASKED
permet aux développeurs de définir s’il faut masquer le cookie CSRF (Cross Site Demand Forgery).- Un
SECRET_KEY_FALLBACKS
permet de fournir une liste de valeurs pour la validation de la clé secrète.- Pour les modèles de conception, la caractéristique
id
de l’élément HTMLn'est pas n'est plus nécessaire lors de l'encapsulation du modèle
json_script
.- Pour les tests, le
DiscoverRunner
prend désormais en charge l'exécution de tests en parallèle sur Windows, macOS et tout autre système sur lequel la technique de démarrage par défaut dumultitraitement
estspawn
.Un certain nombre de modifications rétro-incompatibles ont été apportées, dont certaines affectant l'API back-end de la base de données. La version garde à l'esprit les modifications particulières telles que
BaseDatabaseFeatures.has _ case_insensitive_like
passant deTrue
àFalse
pour refléter les habitudes de la majorité des bases de données .L'assistance en amont pour PostgreSQL 10 se termine en novembre. Django 4.1 prend en charge PostgreSQL 11 et supérieur. De plus, la prise en charge de MariaDB 10.2 ayant pris fin en mai, Django 4.1 prend en charge MariaDB 10.3 et versions ultérieures.
Dans une autre modification, afin d'unifier le comportement avec des relations plusieurs à plusieurs pour les instances de conception non enregistrées, un Le secret étranger inversé génère désormais une erreur ValueError lors de l'appel de gestionnaires associés pour des objets non enregistrés.
Toute l'actualité en temps réel, est sur L'Entrepreneur
- Un paramètre de transition