Django REST框架范围过滤器

2023-12-20

如何在 Django REST Framework 中对日期和数字进行范围过滤?其他过滤器(lt、gt 等)工作正常。我尝试了很多变体,例如:

import rest_framework_filters as filters

class OrderFilter(filters.FilterSet):
    total_price__range = filters.RangeFilter(name='total_price')
    created_at__range = filters.DateFromToRangeFilter(name='created_at')
    ....
    class Meta:
        model = Order

        fields = {
            'created_at__range': ['__all__'],
            'total_price__range': ['__all__'],
            ...
            }

class OrderViewSet(BaseViewSet, viewsets.ModelViewSet):
    filter_class = OrderFilter
    ....

在可浏览的 api 中,当我单击底部的“过滤器”时,会出现字段,然后 url 如下所示:

/orders/?created_at__range_0=2017-05-22&created_at__range_1=2017-05-22

但它不起作用。我需要类似的东西

/orders/?created_at__range=2017-05-22,2017-05-24

与整数相同:

/orders/?total_price__range=1000,2000

曾有描述here https://github.com/philipn/django-rest-framework-filters#caveats--limitations .

我究竟做错了什么?


首先,你有total_price作为你的字段名称,但你的 URL 说total_cost.

其次,删除__range过滤器名称的后缀。任何与__是 Django 过滤的一部分。例如,如果您在 Django 中查询模型的值大于您执行的操作:

MyModel.objects.filter(price__gte=50)

请注意__gte后缀;这就是 Django 过滤修饰符的方式。所以你的类应该是这样的:

class OrderFilter(filters.FilterSet):
    total_price = filters.RangeFilter(name='total_price')
    # ...

然后您可以在查询中对该字段应用范围过滤。

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

Django REST框架范围过滤器 的相关文章

  • django AuditTrail 与还原

    我正在开发一个新的网络应用程序 我需要将数据库中的任何更改存储到审核表中 此类审计表的目的是 稍后在真正的物理审计中 我们可以确定在某种情况下发生了什么 谁编辑了什么以及数据库当时的状态是什么 复杂的计算 所以大多数审计表将被写入而不是读取
  • 将 transaction.commit_manually() 升级到 Django > 1.6

    我继承了为 Django 1 4 编写的应用程序的一些代码 我们需要更新代码库以使用 Django 1 7 并最终更新到 1 8 作为下一个长期支持版本 在一些地方它使用旧风格 transaction commit manually and
  • Django 模板标签内字符串连接最佳实践

    我正在尝试连接一些字符串以格式化模板标记内的 URL 但我找不到一种优雅的方法 到目前为止 我所拥有的是 button Activate http site domain url registration activate activati
  • 在 Bootstrap 中使单击的选项卡处于活动状态

    我正在使用 Django 并将 Bootstrap 与 Django 集成 这是我的导航栏 HTML 代码 div class navbar navbar default navbar fixed top div class contain
  • 测试使用 South 迁移的 Django 应用程序

    我正在尝试为使用 South 迁移的 Django 应用程序创建一些功能测试 最终 我还将创建斜纹测试 当我尝试运行现有测试时 由于南方迁移出现问题 测试数据库未成功创建 58 次迁移中的第 7 次失败 看起来 为了测试的目的 最好从 Dj
  • 如何在Django项目中使用PostgreSQL的存储过程或函数

    我正在开发一个 Django 项目 我决定在 PostgreSQL 中编写逻辑代码 而不是用 Python 编写 因此 我在 PostgreSQL 中创建了一个存储过程 例如 存储过程如下所示 create or replace proce
  • Django REST Framework ManyToMany 过滤多个值

    我有两个模型 一个定义用户 另一个定义这些用户的标签 我正在使用 Django REST Framework 创建 API 我希望能够查询至少包含标签 id 1 和 2 的用户 例如 如果用户的标签是 1 2 1 2 3 2 3 1 3 我
  • Django模型更新或创建具有唯一约束的对象

    有一个模型 class Proxy models Model host models CharField max length 100 port models CharField max length 10 login models Cha
  • Django、模板、for 循环和循环

    tl 博士在底部 让我尝试解释一下我想要完成的任务 我有一个二维数组 我想以某种方式显示其内容 我想要 行 并且每行只能显示不超过三个 对象 因为缺乏更好的词 所以我想迭代该数组并在此过程中创建 HTML 我的想法是这样的 数组中的每个 三
  • 如何处理 Django 中的错误

    我想让我的 django 应用程序尽可能对用户友好 并且我想处理适当的错误并让它推出类似于 javascript 中的警报的错误消息 我想在没有上传文件时执行此操作 因此 当按下上传按钮并且尚未上传任何内容时 将会发出一条警报消息 我的看法
  • 在 JavaScript 函数的 Django 模板中转义字符串参数

    我有一个 JavaScript 函数 它返回一组对象 return Func id name 例如 我在传递包含引号的字符串时遇到问题 Dr Seuss ABC BOOk 是无效语法 I tried name safe 但无济于事 有什么解
  • 更新到 Django 1.8 - AttributeError: django.test.TestCase 没有属性 'cls_atomics'

    我将 Django 1 7 项目更新为 Django 1 8 现在运行测试时出现错误 它们是 Django 的子类 django test TestCase Traceback most recent call last File env
  • Django - CreateView 具有多个模型

    我可以使用 Django 吗创建视图 https docs djangoproject com en 1 9 ref class based views generic editing django views generic edit C
  • 用于渲染 html 子集的 Django templatetag

    我有一些 html 在本例中是通过 TinyMCE 创建的 我想将其添加到页面中 但是 出于安全原因 我不想只打印用户输入的所有内容 有谁知道模板标签 最好是过滤器 只允许呈现 html 的安全子集 我意识到 Markdown 和其他人就是
  • django 模板 - 如何动态访问变量?

    假设我有一个具有以下上下文的 django 模板 data1 this is data1 data2 this is data2 data name data2 现在我知道了data name 假设它是 data2 是否可以用它来访问变量d
  • 如何在Django终端后台启动celery

    我开始芹菜作为 python manage py celeryd 它正在工作 但在前台 然后为了测试命令 我需要启动另一个终端并在那里执行操作 有什么办法可以在后台启动它吗 我试过这个 python manage py celeryd 但话
  • 如何手动发送django异常日志?

    我的应用程序中有一个应该返回的特定视图HttpResponse 如果一切都成功完成并且类似HttpResponseBadRequest 否则 此视图适用于外部数据 因此可能会引发一些意外的异常 我当然需要知道发生了什么 所以我有这样的东西
  • Django 独特的不工作

    我在从查询中过滤掉重复项时遇到问题 我正在使用 Django 1 4 和 Postgres 8 4 13 我在我的模型对象上使用这个查询 它是一个 jquery 自动完成 term request GET get term field re
  • 使用 Newtonsoft.Json.NET 搜索 JSON 根对象的正确 JsonPath 表达式是什么?

    大多数例子涉及Stefan G ssner 的书店示例 http goessner net articles JsonPath index html e3 但是我正在努力为简单对象 无数组 定义正确的 JsonPath 表达式 Id 1 N
  • 如何使用 Python/Django 在 Facebook 中获取(和使用)扩展权限

    我正在尝试编写一个简单的应用程序 让用户授予我的代码写入其页面的 Facebook 流的权限 据我了解 它应该很简单 让用户单击一个按钮 启动一个弹出窗口 其中包含我的 Facebook 应用程序中的页面 在该页面中 他们单击授予的内容流发

随机推荐

  • 将 super 与 class_eval 一起使用

    我有一个应用程序 其中包含用于添加客户端自定义的核心类模块 我发现 class eval 是重写核心类中方法的好方法 但有时我想避免重写整个方法 而只是遵循原始方法 例如 如果我有一个名为account balance 最好在我的模块 即包
  • 在 ASP.NET 中将 HTML 内容写入 Word 文档时出现问题

    我正在尝试将 HTML 页面内容导出到 Word 我的Html显示页面是 你最喜欢的颜色是什么 NA 列出前三名的学校 一名国家级 两个开发人员 三个PS 以及一个用于点击事件的按钮 按钮单击事件将打开 MS Word 并将页面内容粘贴到
  • 简单的 UIView drawRect 没有被调用

    我不明白这里出了什么问题 我有一个非常简单的 UIViewController 和一个非常简单的 viewDidLoad 方法 void viewDidLoad NSLog making game view GameView v GameV
  • Python-获取目录中所有文件和子文件夹的相对路径

    我正在寻找一种获取特定文件夹内文件和 子 文件夹的相对路径的好方法 对于我目前使用的方法os walk 它正在工作 但对我来说似乎并不 Pythonic myFolder myfolder fileSet set yes I need a
  • 手动设置Session过期时间-CodeIgniter

    如何在 codeigniter 中动态设置会话过期时间 例如 如果用户登录并具有以下角色 admin 过期时间应该比没有权限的用户登录时要长admin role Thanks 您可以通过在配置文件中增加此变量来更新会话过期时间 config
  • 我应该对不透明对象使用整数 ID 还是指针?

    我正在一些图形 API DirectX9 和 DirectX11 之上编写一个抽象层 我想听听您的意见 传统上 我会为每个我想要抽象的概念创建一个基类 因此 在典型的 OO 方式中 我将拥有一个 Shader 类和 2 个子类 DX9Sha
  • Django 动态模型字段

    我正在研究一个多租户应用程序中 一些用户可以定义自己的数据字段 通过管理员 以收集表单中的附加数据并报告数据 后一点使得 JSONField 不是一个很好的选择 所以我有以下解决方案 class CustomDataField models
  • 如何使 AWS EC2 上的 Tomcat 从外部本地主机可用

    我正在尝试在 AWS Linux 服务器上运行 Tomcat 我已经安装了 Tomcat 并从命令行测试了它以确保它正常工作 但我无法从另一台计算机访问它 细节 该实例在安全组中开放了用于 HTTP 的 80 传入端口 我已经通过远程登录到
  • 重写解析表达式语法(PEG),无需左递归

    Using https github com JetBrains Grammar Kit https github com JetBrains Grammar Kit如何在没有左递归的情况下重写语法 grammar exprs exprs
  • Bison 语义谓词语法错误,杂散“#”

    我正在尝试使用 Bison 的语义谓词 https www gnu org software bison manual html node Semantic Predicates html Semantic Predicates功能 但我在
  • Google 云消息服务器的 IP 地址

    我即将在服务器上部署 GCM 的实现 并且需要通过 IP 打开适当的防火墙 有谁知道在哪里可以找到 android googleapis com 的 IP 地址范围 Thanks 我发现 android googleapis com 的 I
  • 无法在 Windows 10 上使用 Docker Toolbox 共享/挂载卷

    我正在尝试使用 docker 设置我的项目 我在 Windows 10 家庭版上使用 Docker Toolbox 我对码头工人很陌生 据我了解 我必须将文件复制到新容器并添加一个卷 以便我可以保留 gulp 所做的更改 这是我的文件夹结构
  • Mongodb count 与 findone

    我的问题是 有一组用户 我试图找到 用户是否使用 id xxx has somevalue gt 5 我想知道 使用什么会更快find count gt 0 or findOne null 或者也许还有其他更快 更好的方法 查询时间之间的差
  • 使用 guice 构建带有注入类的框架,初始化的正确方法是什么?

    我正在尝试编写一个框架 其中任意 bean 类都通过我的 API 中的类注入 并且它们可以与这两个类交互 也可以根据定义的注释触发回调 这是一个示例 bean Experiment static class TestExperiment p
  • Android NDK:您确定您的 NDK_MODULE_PATH 变量已正确定义吗?

    最近 3天前 开始学习Android Studio 我购买了一个 Eclipse 游戏项目来玩 但出现错误 当我修复该错误时 我收到一个新错误 目前的错误如下 构建命令失败 执行过程时出错 C Users user AppData Loca
  • 不考虑回到起点的旅行商问题(TSP)的问题名称是什么?

    我想知道 TSP 的问题名称是什么 不考虑返回起点的方式 以及解决这个问题的算法是什么 我研究了最短路径问题 但这不是我想要的 问题只是从 2 个指定点找到最短路径 但我要寻找的是我们给出n个点并且只输入1个起点的问题 然后 找到经过所有点
  • 在应用程序和扩展程序之间共享捆绑资源

    我的照片共享扩展计划使用相同的设计资源 用于导航和向照片添加 图章 贴纸 如应用程序沙盒设计指南中所述 沙盒应用程序组 需要共享文件和其他信息的可以请求容器 目录作为其权利的一部分 这些目录是存放的 在 Library Group Cont
  • 如何获取 XGBClassifier 的预测 p 值?

    我想知道 XGBClassifier 对它所做的每个预测的置信度如何 有可能有这样的价值吗 或者 predict proba 是否已经间接成为模型的置信度 你的直觉确实是正确的 predict proba返回每个示例属于给定类别的概率 来自
  • 读取注册表项的性能?

    我想知道通过标准 C 库从 Windows 注册表读取注册表值需要多长时间 以毫秒为单位 在这种情况下 我正在阅读一些代理设置 我应该期望什么数量级的值 有没有好的基准数据可用 我正在运行 WS2k8 R2 amd64 加分点 操作系统 s
  • Django REST框架范围过滤器

    如何在 Django REST Framework 中对日期和数字进行范围过滤 其他过滤器 lt gt 等 工作正常 我尝试了很多变体 例如 import rest framework filters as filters class Or