为什么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…
我道歉,我没有足够的声誉发布额外的直接链接.