django 2.2 新特性

新特性
約束
新的CheckConstraint和UniqueConstraint類現在開始支持自定義數據庫約束,通過使用Meta.constraints選項。

小特性

  1. django.contrib.admin

爲TabularInline添加了列頭的CSS類

  1. django.contrib.auth

HttpRequest將被作爲第一個位置參數傳遞給RemoteUserBackend.configure_user()方法。

  1. django.contrib.gis

Envelope函數開始支持Oracle。 coveredby和covers查詢現在支持SpatiaLite 不再支持GDAL1.9和1.10

  1. django.contrib.staticfiles

爲collectstatic --ignore選項添加路由,以支持類似/vendor/*.js的模式

  1. Database backends

爲SQLite上的QuerySet.iterator()添加輸出流

  1. Generic Views

新的View.setup鉤子將在調用dispatch()方法之前初始化視圖屬性。

  1. Internationalization

現在支持亞美尼亞語言

  1. Management Commands

新的選項–force-color強制對輸出添加顏色
inspectdb命令將爲PostgreSQL數據庫的外部表創建模型
inspectdb --include-views將爲Oracle和PostgreSQL的物化視圖創建模型
inspectdb --include-partitions將爲PostgreSQL的分區表創建模型。
在Oracle和PostgreSQL上inspectdb命令將內省DurationField字段類型,在SQLite上內省AutoField字段類型。
在Oracle中,dbshell將被rlwrap包裝起來。rlwrap提供一個命令歷史記錄和鍵盤輸入編輯功能。
新的makemigrations --no-header選項可以在生成migration文件的時候避免寫入頭部註釋。
runserver命令現在可以使用Watchman插件,用於提高監視大量修改文件的性能。並且不再支持pyinotify插件。
9. Migrations

新的migrate --plan選項將打印出遷移操作的列表
NoneType現在可以在migrations中序列化了
現在可以爲migrations註冊自定義的序列化器了
10. Models

爲PostgreSQL ,新增Index.opclasses類
通過Index.condition,支持分區索引
新增NullIf和Reverse數據庫函數
爲QuerySet.bulk_create()函數新增ignore_conflicts參數,此參數如果設置爲True,將忽略在添加數據行時的錯誤。
新增ExtractIsoYear函數
新增QuerySet.bulk_update()方法,提高批量更新指定字段的效率
對於Model.save()、QuerySet.update()和Model.delete()等單獨的操作,Django將不再啓動一個事務,這有助於提高自動提交數據庫操作的性能
SQLite現在支持StdDev和Variance函數
Aggregate類現在開始支持DISTINCT聚合操作
RelatedManager.add()、create()、remove()、set()、get_or_create()、update_or_create() 等方法現在支持多對多關係。
SQLite現在要求最低版本是3.8.3
mysqlclient現在要求最低版本是1.3.13
11. Requests and Responses

新增HttpRequest.headers,可以快速地訪問請求的頭部信息

  1. URLs

新增的ResolverMatch.route屬性保存了匹配的URL模式的路由

  1. Validators

MaxValueValidator、MinValueValidator、MinLengthValidator和MaxLengthValidator 現在可以接收一個可調用的limit_value參數值。

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章