首页
学习
活动
专区
工具
TVP
发布
精选内容/技术社群/优惠产品,尽在小程序
立即前往

搜索不会在Django-rest-framework中返回结果

在Django-rest-framework中,搜索不会直接返回结果,而是提供了一种方便的方式来实现搜索功能。Django-rest-framework提供了一个名为SearchFilter的过滤器类,可以用于在API视图中进行搜索。

SearchFilter过滤器类允许在API视图中使用搜索参数来过滤查询结果。它可以与其他过滤器类一起使用,例如DjangoFilterBackendOrderingFilter

使用SearchFilter需要进行以下步骤:

  1. 在视图类中导入SearchFilter
代码语言:txt
复制
from rest_framework.filters import SearchFilter
  1. SearchFilter添加到视图类的filter_backends属性中:
代码语言:txt
复制
class MyView(APIView):
    filter_backends = [SearchFilter]
  1. 在视图类中设置search_fields属性,指定要进行搜索的字段:
代码语言:txt
复制
class MyView(APIView):
    filter_backends = [SearchFilter]
    search_fields = ['field1', 'field2']

在上述代码中,field1field2是要进行搜索的字段名。

  1. 在API请求中,可以通过在URL参数中添加search参数来进行搜索:
代码语言:txt
复制
GET /api/myview/?search=query

在上述URL中,query是要搜索的关键字。

SearchFilter会根据搜索参数在指定的字段上执行搜索,并返回符合搜索条件的结果。

对于Django-rest-framework中的搜索功能,腾讯云提供了云数据库 TencentDB for PostgreSQL,它是一种高性能、可扩展的关系型数据库服务,适用于各种规模的应用程序。您可以使用TencentDB for PostgreSQL来存储和管理数据,并通过Django-rest-framework的搜索功能来实现数据的搜索和过滤。

更多关于腾讯云数据库 TencentDB for PostgreSQL 的信息和产品介绍,请访问以下链接:

页面内容是否对你有帮助?
有帮助
没帮助

相关·内容

  • django-rest_framework api框架学习day1

    今天开始了django-rest-framework的学习 *** 其实api写起来的话要比前后端一起写要简单很多,因为你不需要关心前端怎么写,主要心思放在后端上面即可,前端的话随便找个模板,然后用vue语法嵌套上去就好了,一样可以做到很好看,实现了前后端的分离,非常的nice,开始学习之路了!加油奥利给 *** 首先需要安装rest-framework *** pip install framework *** 接着在setting-installed-apps中注册 *** INSTALLED_APPS = [ ‘django.contrib.admin’, ‘django.contrib.auth’, ‘django.contrib.contenttypes’, ‘django.contrib.sessions’, ‘django.contrib.messages’, ‘django.contrib.staticfiles’, ‘testAPI.apps.TestapiConfig’, ‘rest_framework’, ‘ajax’, ] *** 注册完成之后路由上的写法也有些不同, URL中 *** from django.urls import path from . import views from .views import Order app_name=’testAPI’ urlpatterns=[ path(”,Order.as_view()),

    04

    Django Rest Framewor

    200 OK - [GET]:服务器成功返回用户请求的数据,该操作是幂等的(Idempotent)。 201 CREATED - [POST/PUT/PATCH]:用户新建或修改数据成功。 202 Accepted - [*]:表示一个请求已经进入后台排队(异步任务) 204 NO CONTENT - [DELETE]:用户删除数据成功。 400 INVALID REQUEST - [POST/PUT/PATCH]:用户发出的请求有错误,服务器没有进行新建或修改数据的操作,该操作是幂等的。 401 Unauthorized - [*]:表示用户没有权限(令牌、用户名、密码错误)。 403 Forbidden - [*] 表示用户得到授权(与401错误相对),但是访问是被禁止的。 404 NOT FOUND - [*]:用户发出的请求针对的是不存在的记录,服务器没有进行操作,该操作是幂等的。 406 Not Acceptable - [GET]:用户请求的格式不可得(比如用户请求JSON格式,但是只有XML格式)。 410 Gone -[GET]:用户请求的资源被永久删除,且不会再得到的。 422 Unprocesable entity - [POST/PUT/PATCH] 当创建一个对象时,发生一个验证错误。 500 INTERNAL SERVER ERROR - [*]:服务器发生错误,用户将无法判断发出的请求是否成功。 更多看这里:http://www.w3.org/Protocols/rfc2616/rfc2616-sec10.html 状态码

    02
    领券