Django 1.10提供了PostgreSQL中的全文检索功能
Django1.10提供了PostgreSQL中的全文检索功能,Django1.10版本已经发布,该版本所给出的新特性包括:对PostgreSQL数据库的全文检索、Unicode用户名的官方支持和新型的中间件。
作为Django软件基金会的动态语言,该Django的重大发布包括了在django.contrib.postgres.search模块中对数据库函数调用的功能,这方便了使用PostgreSQL的全文检索引擎。
Django团队给出了例子代码,实现对数据库中某一行数据进行简单搜索。代码如下所示:
>>>Entry.objects.filter(body_text__search='Cheese')
[<Entry:CheeseonToastrecipes>,<Entry:PizzaRecipes>]
“代码从数据库的body_text域调用一次to_tsvector函数,并为检索词‘Cheese’调用一次plainto_tsquery函数。这两次函数调用均使用缺省的数据库检索配置。检索结果通过对查询与向量的匹配而得到。为使用该检索查找功能,环境设置INSTALLED_APPS中必须包括'django.contrib.postgres'。”
在Django文档中,可以查阅到使用SearchVector、SearchQuery和SearchRank类的例子,详细内容参见这里。
Django1.10版本的新特性还包括引入了一种新型的中间件,该中间件所解决的问题是,“在DEP0005改进建议中提出的旧式中间件中缺乏严格意义上的请求和响应层的问题”。
作为一种“钩入Django请求及响应处理的架构”,Django的新型中间件提供了django.utils.deprecation.MiddlewareMixin模块,用于创建与MIDDLEWARE和MIDDLEWARE_CLASSES兼容的中间件类。
按Django文档所述,“该混合类型模块提供了__init__()方法,接受get_response作为可选参数,并将该参数保存在self.get_response中”。对此方法详解如下:
__call__()方法:
调用self.process_request(request)(如果已定义了);
调用self.get_response(request),从后续的中间件和视图中获取响应;
调用self.process_response(request,response)(如果已定义了);
返回响应。
在网络上关于Django最新发布的新闻得到了很多的肯定,但也一些评论提出了对Channels项目的需求。
在HackerNew网站对“Django1.10发布了”的讨论中,用户TomForbes是这样评论的:“Channels项目真是可耻呀,我发现新版本中并没有包含这个项目”。而用户ubernostrum是这样回复的:“Channel项目将会取得成功的。它只是尚未准备好在1.10版本中发布。希望它会在1.11版本中准备好,并将在Django中启用。”
用户passiveincomelg给出了不太确定的说法:“我对Channel的态度有些矛盾。一方面,使用它所能做的事情是很酷的,它的设计十分聪明地避免了重写所有Django程序为异步的。另一方面,为实现这个Go和Erlang所轻易实现的功能,还有要去完成多少的恶作剧,这真是令人抓狂。”
Django1.10版还包括一些不向后兼容的改进。而也有一些特性在达到其弃用周期后,也已经被弃用。
这些被弃用的特性包括:在LOGIN_URL和LOGIN_REDIRECT_URL中设置使用可带点的Python路径;django.core.context_processors、django.db.models.sql.aggregates和django.contrib.gis.db.models.sql.aggregates等模块;为使用SQLCompiler的quote_name_unless_alias方法而支持用别名方式直接调用SQLCompiler;以及其它一些私有API。
作为一种用Python编写的自由开源Web应用框架,Django以三句版BSD协议发布,它欢迎来自InfoQ社区的贡献。
Python培训,就选光环大数据Python培训机构!python学习地址:http://hadoop.aura.cn/python/
大数据培训、人工智能培训、Python培训、大数据培训机构、大数据培训班、数据分析培训、大数据可视化培训,就选光环大数据!光环大数据,聘请专业的大数据领域知名讲师,确保教学的整体质量与教学水准。讲师团及时掌握时代潮流技术,将前沿技能融入教学中,确保学生所学知识顺应时代所需。通过深入浅出、通俗易懂的教学方式,指导学生更快的掌握技能知识,成就上万个高薪就业学子。 更多问题咨询,欢迎点击------>>>>在线客服!