Вышла первая бета Django 5.2. Релиз ждём в апреле.

Из интересного:

  • Научили shell импортировать модели автоматически. Но кажется уже все привыкли к shell_plus.
  • Доехала поддержка композитных первичных ключей (pk из нескольких полей).
  • Теперь у base.html есть блок extrabody для добавления своего кода перед закрытием , может быть удобно для кастомизации.
  • Еще больше методов получили асинхронную версию. UserManager.acreate_user(), User.ahas_perm() и т.д
  • method_decorator() научился оборачивать асинхронные методы.
  • Добавили предупреждение при запуске через runserver о том, что его нельзя использовать в проде. Кажется не поможет...
  • В миграции завезли AlterConstraint, чтобы каждый раз не пересоздавать и не удалять констрейнты.
  • Порядок полей в .values() и .values_list() теперь точно соответствует переданному. Соответственно .union() в таком случае гарантировано даст ожидаемый результат.
  • Появились классы Deserializer для гибкого управления десериализацией. Никогда не было необходимости в этом, но выглядит хорошо. -reverse() теперь принимает query и fragment keywords. Думаю стоит попробовать.
  • 5.2 поддерживает Postgres от 14 версии и выше.

Подробности тут: https://docs.djangoproject.com/en/dev/releases/5.2/