谷歌翻译的,凑合看还行.
Django 3.0通过提供对作为ASGI应用程序运行的支持,开始了使Django具有完全异步功能的旅程。
注:ASGI是WSGI的扩展,向下兼容WSGI,克服了WSGI的弱点,支持异步并发.有异步并发需求可以重新在生产环境下进行部署.
这是对我们现有的WSGI支持的补充。Django打算在可预见的将来为这两者提供支持。但是,异步功能仅对在ASGI下运行的应用程序可用。
除非您想开始尝试异步代码,否则无需切换应用程序,但是如果您想了解更多信息,我们有 关于使用ASGI进行部署的文档。
请注意,作为此更改的副作用,Django现在知道异步事件循环,并将阻止您从异步上下文中调用标记为“异步不安全”的代码(例如ORM操作)。如果您之前使用的是异步代码中的Django,则操作不正确可能会触发它。如果看到SynchronousOnlyOperation
错误,请仔细检查代码并将所有数据库操作移至同步子线程中。
新ExclusionConstraint
类允许在PostgreSQL上添加排除约束。使用Meta.constraints
选项将约束添加到模型 。
BooleanField
现在,可以直接在QuerySet
过滤器中使用输出的表达式,而不必首先注释,然后针对注释进行过滤。
自定义枚举类型TextChoices
,IntegerChoices
和Choices
现在作为一个的方式来定义Field.choices
。为文本和整数字段提供了类型TextChoices
和IntegerChoices
类型。在 Choices
类允许定义为其他具体的数据类型兼容的枚举。这些自定义枚举类型支持人类可读的标签,可以通过枚举或其成员上的属性来翻译和访问这些标签。有关更多详细信息和示例,请参见枚举类型。
django.contrib.admin
admin_order_field
的 ModelAdmin.list_display属性的
支持。ModelAdmin.get_inlines()
方法允许根据请求或模型实例指定内联。django.contrib.auth
reset_url_token
属性 PasswordResetConfirmView
允许指定显示为密码重置URL组件的令牌参数。BaseBackend
类,以简化身份验证后端的自定义。get_user_permissions()
方法以镜像现有 get_group_permissions()
方法。autocomplete
在用户名,电子邮件和密码字段的小部件中添加了HTML 属性,django.contrib.auth.forms
以更好地与浏览器密码管理器进行交互。createsuperuser
现在,当非交互模式下未提供相应的命令行参数时,现在退回到密码和必填字段的环境变量。REQUIRED_FIELDS
现在支持 ManyToManyField
。UserManager.with_perm()
方法将返回具有指定权限的用户。django.contrib.gis
GeometryDistance
PostGIS支持的功能。furlong
单位的 支持Distance
。GEOIP_PATH
设置现在支持pathlib.Path
。GeoIP2
班现在接受 。pathlib.Path
path
django.contrib.postgres
RangeOperators
有助于避免与一起使用的SQL运算符中的拼写错误 RangeField
。RangeBoundary
表达式表示范围边界。AddIndexConcurrently
和RemoveIndexConcurrently
class允许CONCURRENTLY
在PostgreSQL上创建和删除索引。django.contrib.sessions
get_session_cookie_age()
方法允许动态指定会话cookie的年龄。add_never_cache_headers()
然后 never_cache()
将private
指令添加到Cache-Control
标题中。Storage.get_alternative_name()
如果已经存在带有上载名称的文件,则新方法允许自定义生成文件名的算法。can_order
通过设置 ordering_widget
属性或覆盖来控制在订购表单时使用的小部件 get_ordering_widget()
。LANGUAGE_COOKIE_HTTPONLY
, LANGUAGE_COOKIE_SAMESITE
和LANGUAGE_COOKIE_SECURE
设置来设置的HttpOnly
,SameSite
以及Secure
对语言的cookie标志。这些设置的默认值保留以前的行为。reporter_class
参数 AdminEmailHandler
允许提供一个 django.views.debug.ExceptionReporter
子类,以自定义ADMINS
在DEBUG
is 时发送到站点的回溯文本False
。compilemessages --ignore
.po
showmigrations --list
现在显示的--verbosity
是大于等于2的日期时间 。dbshell
现在支持客户端TLS证书。inspectdb
现在,OneToOneField
当外键具有唯一或主键约束时,它会进行自省。--skip-checks
选项将在运行命令之前跳过正在运行的系统检查。startapp --template
startproject --template
.tar.xz
.txz
.tar.lzma
.tlz
添加了Sign
数据库功能。
数据库功能的新is_dst
参数 Trunc
确定了不存在和不明确的日期时间的处理方式。
connection.queries
现在显示PostgreSQL上的语句。COPY … TO
FilePathField
现在接受的可调用对象path
。
允许使用对称的中间表作为自引用 ManyToManyField
。
该name
属性CheckConstraint
, UniqueConstraint
和 Index
现在支持应用标签和类插值使用‘%(app_label)s‘
和‘%(class)s‘
占位符。
新Field.descriptor_class
属性允许模型字段通过覆盖其描述符来自定义get和set行为 。
添加了SmallAutoField
,它的行为类似于“ AutoField
例外”,只是它只允许某个值(取决于数据库)下的值。从1
到的值32767
在Django支持的所有数据库中都是安全的。
AutoField
, BigAutoField
以及 SmallAutoField
现在从继承 IntegerField
,BigIntegerField
并SmallIntegerField
分别。系统检查和验证器现在也已正确继承。
CheckConstraint
现在在MySQL 8.0.16+上受支持。
这种新的allows_group_by_selected_pks_on_model()
方法 django.db.backends.base.BaseDatabaseFeatures
允许对子句进行优化, 使其仅需要选定模型的主键。默认情况下,仅PostgreSQL上的托管模型支持它。GROUP BY
要为非托管模型启用仅主键优化,您必须对PostgreSQL数据库引擎进行子类化,并根据需要覆盖features类方法。有关示例,请参见子类化内置数据库后端。GROUP BY
allows_group_by_selected_pks_on_model()
HttpResponse
用memoryview
内容初始化 。HttpRequest.headers
现在允许使用下划线(例如user_agent
)代替连字符来进行查找。X_FRAME_OPTIONS
现在默认为‘DENY‘
。在旧版本中,该 X_FRAME_OPTIONS
设置默认为‘SAMEORIGIN‘
。如果您的网站使用其自身的框架,则需要明确设置它们才能继续工作。X_FRAME_OPTIONS = ‘SAMEORIGIN‘
SECURE_CONTENT_TYPE_NOSNIFF
设置现在默认为True
。启用后SECURE_CONTENT_TYPE_NOSNIFF
,将 在所有尚未SecurityMiddleware
设置的X-Content-Type-Options:nosniff标头上设置该 标头。SecurityMiddleware
现在可以发送 Referrer-Policy标头。Client
参数 raise_request_exception
允许控制是否应在测试中引发在请求期间引发的异常。该值默认True
为向后兼容。如果是,False
并且发生异常,则测试客户端将返回500响应,其中包含属性exc_info
,一个元组提供发生的异常的信息。test -k
assertHTMLEqual()
现在,由所使用的HTML比较 将将相同字符引用的文本,字符引用和实体引用视为等效。--headless
选项以启用此模式。--start-at
和--start-after
选项,以从特定的顶级模块开始运行测试。--pdb
在每个错误或失败时生成调试器的选项。原文:https://www.cnblogs.com/worldinmyeyes/p/12018203.html