为什么Django Rest Framework只支持MysqL后端的全文搜索,当有更强大的数据库像Postgres时,我读了这个并且感到惊讶:/
http://www.django-rest-framework.org/api-guide/filtering
“@’全文搜索.(目前只支持Django的MysqL后端.)”
知道这背后的具体原因吗?
解决方法
自@stalk回答后,情况发生了变化.
As of Django 1.10,Django Rest Framework也可以支持Postgresql.
由于django.contrib.postgres提供与MysqL相同的__search
interface,您可以使用与MysqL相同的设置将API连接到Postgres:
>将django.contrib.postgres添加到您的INSTALLED_APPS.
>在您的视图中,使用@符号标记全文搜索字段:
search_fields = ('@title','@description')
事实上,听起来Django对MysqL的全文搜索支持已被弃用或至少在改变,根据@stalk原始答案中关于Django文档链接的弃用说明.该说明链接到以下说明,其中还包含用于替换它的示例代码:
The search lookup,which supports MysqL only and is extremely limited in features,is deprecated. Replace it with a custom lookup…
我道歉,我没有足够的声誉发布额外的直接链接.