django - 仅支持MYSQL在Django Rest Framework上进行全文搜索?

标签 django api django-rest-framework

当有更多功能强大的数据库(如Postgres)时,为什么Django Rest Framework仅支持对MYSQL后端进行全文搜索,我读了这篇文章,很惊讶:/

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中。
  • 在您的 View 中,使用@符号标记全文搜索字段:
    search_fields = ('@title', '@description')
    

  • 实际上,根据@stalk原始答案中Django docs链接上的弃用说明,听起来Django的MySQL全文搜索支持已被弃用或至少正在更改。该注释链接到以下说明,该说明还包含用于替换它的示例代码:

    The search lookup, which supports MySQL only and is extremely limited in features, is deprecated. Replace it with a custom lookup...



    抱歉,我没有足够的声誉来发布其他直接链接。

    关于django - 仅支持MYSQL在Django Rest Framework上进行全文搜索?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/26357010/

    相关文章:

    python - django中的常用模型

    ios - 我想在我的应用程序中使用分页。我有一个像这样的API :

    javascript - 如何上传二进制 blob

    python - 如何在 Django 服务器启动时打印 ascii 横幅?

    python - 如何访问反向关系django的反向关系

    python - Celery 为每个失败的任务发送邮件

    javascript - 加载结果后重定向到新页面

    java - IBM Watson Visual Recognition 参数方法不会隐式接受字符串

    Django Rest Framework 验证器不在 extra_kwargs 内执行

    django - 序列化器字段可能命名不正确,并且与 `GenericRelatedObjectManager` 实例上的任何属性或键都不匹配