将“django-filter”与 CHOICES 字段一起使用 - 需要“Any”选项

2024-01-09

我正在使用非常酷的 django-filter (通过:http://github.com/alex/django-filter http://github.com/alex/django-filter) 要么似乎无法理解文档,要么只是 需要一点推动。

当我在对象列表页面上显示过滤器表单时,对于 FK 字段我 获取包含“-----”的下拉菜单,结果是 “任何”类型过滤器。但我在该字段上设置了一些选择 模型,我想获得相同的“任何”类型选项。 以下是 models.py 中的相关示例部分:

TICKET_STATUS_CHOICES = (
    ('new', 'New'),
    ('accepted', 'Accepted'),
    ('assigned', 'Assigned'),
    ('reopened', 'Reopened'),
    ('closed', 'Closed'),
)

class Ticket(models.Model):
    assigned_to = models.ForeignKey(User, null=True, blank=True)
    status = models.CharField(max_length=20,
choices=TICKET_STATUS_CHOICES, default='new')

import django_filters

class TicketFilter(django_filters.FilterSet):
    class Meta:
        model = Ticket
        fields = ['assigned_to', 'status']

当我显示过滤器表单时,'assigned_to'得到一个“任何”选项,如 以及列出可用用户。这'status'然而,场是 仅限于实际“_CHOICES”中列出的选项。

如何向基于 _CHOICES 的字段添加“任意”选项?


DRY'er 将使用已经定义的 ChoiceFilter 的“choices”参数。

因此,您可以简单地将 FILTER_CHOICES 扩展为 TICKET_STATUS_CHOICES 加上带有空字符串的“any”选项:

FILTER_CHOICES = (
    ('new', 'New'),
    ('accepted', 'Accepted'),
    ('assigned', 'Assigned'),
    ('reopened', 'Reopened'),
    ('closed', 'Closed'),
    ('', 'Any'),
)

你的 TicketFilter 将是:

class TicketFilter(django_filters.FilterSet):

   status = django_filters.ChoiceFilter(choices=FILTER_CHOICES)

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

将“django-filter”与 CHOICES 字段一起使用 - 需要“Any”选项 的相关文章

  • Django populate() 不可重入

    当我尝试在生产环境中加载 Django 应用程序时 我不断收到此消息 我尝试了所有的 stackoverflow 答案 但没有任何解决办法 任何其他想法 我使用的是 Django 1 5 2 和 Apache Traceback most
  • 比manage.pycollectstatic(带s3boto存储后端)更快的替代方案可以将静态文件同步到s3?

    我一直使用 s3boto 的 S3BotoStorage 作为我的静态文件后端 并使用 manage pycollectstatic 将文件同步到我的 aws s3 存储桶 暂存和生产 效果很好 然而 它的速度却慢得令人痛苦 除了我自己的静
  • 从 Django 模板中的 URL 访问 kwargs

    我可以在 Django 模板中访问命名参数的值 从 URL 吗 就像我可以访问的值this name下面来自 django 模板 url r area P
  • Django tastypie:资源在详细请求中显示与列表请求中不同

    我刚刚开始使用 django tastypie 我对它很热情 我的问题 我正在寻找与管理视图中相同的功能 指定外键字段在其他对象的列表响应中看到的内容以及在详细响应中看到的内容 假设这是我的简单模型 class Location model
  • Apache mod_wsgi django启用多线程多进程

    问题 我如何知道我的 apache 服务器是否已经在多进程和多线程模式下运行 因为当我对其进行负载测试时 它在不同的线程数下给出了相同的结果时间 我用 25 个线程和 50 个线程运行测试 我需要在 Django 代码中为多线程 多进程工作
  • 如何使用 Celery 和 Django 将任务路由到不同的队列

    我正在使用以下堆栈 Python 3 6 芹菜 v4 2 1 经纪人 RabbitMQ v3 6 0 姜戈 v2 0 4 根据芹菜的文档 http docs celeryproject org en latest userguide rou
  • 如何在 django 模板中转义 {{ 或 }} ?

    姜戈款待 var 作为其模板中的一些变量 我该如何逃脱 var or or 这样 django 不会将其视为变量 p some text p 打印出来应该一模一样 Django 1 5 介绍 verbatim https docs djan
  • django 应用程序中的 DST 时区问题

    我正在 django 中制作一个事件应用程序 因为我需要将一个事件对象 数据库中的行 条目 复制到另一个事件对象中 它创建另一个具有相同细节的对象 该事件对象涉及时区和夏令时 我在 DST 期间遇到问题 我在复制对象期间应用了 5 天的时间
  • Django Unittests 客户端登录:在测试套件中失败,但在 Shell 中失败

    我正在对我的主页视图进行基本测试 虽然可以从 shell 登录客户端 但在使用测试套件时 同一行代码无法登录客户端 使用 Django 测试套件时登录客户端的正确方法是什么 Or 知道为什么客户端没有使用我当前的方法登录吗 外壳测试 imp
  • 如何在Django中使用CreateView进行多个文件的上传?

    请帮我 我是 Django 新手 无法理解以下内容 我有 CreateView 的子类用于创建评论 我想创建一个项目 人们可以在其中留下评论并将文件 图像 附加到该评论中 人们应该可以在一张带有文本注释的表格上附加尽可能多的图像 我在互联网
  • 如何在 Django 中定义模型之间的多态关系?

    我正在开发一个 Django 应用程序 其中包含Offer模型 一个Offer实例包含定价条件并指向产品定义 产品模型实际上是一个层次结构 我有一个Television模型 一个Camcorder模型等 所以我想要Offer模型包含指向任何
  • 在 django 中发送邮件 - gmail smtp 问题

    我拥有一个简单的投资组合网站 www manojmj com 我在网站上有一个联系表格 用户可以填写表格并通过电子邮件发送给我 现在 我已经配置了我的 Gmail 帐户以通过 django 发送邮件 我知道如果我使用 gmail 作为我的提
  • 访问 django for 循环中的元素

    我有一个 Django 模板 其中包含以下代码 该模板创建多个按钮并尝试通过单击 在同一按钮上 删除 隐藏其中一个按钮 for h in helicopters div class btn group div
  • Django 中不捕获可选 URL 元素

    我正在使用 Django 并且想要匹配 URLdomain com w and domain com words 我有一个以下形式的配置行 url r w ords app name views view words view words仅
  • 提供多个 Base64 图像下载

    我的 django 应用程序有一个带有 base64 编码图像的模型 我想向我的 ListView 添加选项 以将所有显示的图像下载到用户选择的位置 我应该创建一个 AJAX 视图 还是 jQuery 可以处理它 我用谷歌搜索了一下 看到了
  • 意外的缩进错误,但缩进看起来正确

    我一直在尝试运行此代码 但它引发了缩进错误 无论我尝试什么 结果都是一样的 如果我删除之前的缩进def str self 和代码的其余部分 它工作正常 但在输出时 它不显示问题 而是显示 问题对象 def str self Indentat
  • 如何在 Django 中获取查询集中的倒数第二条记录?

    我有一个名为employees salary我需要获得员工第二高的薪水 我知道我可以过滤latest first last 这些都有效 但是如何过滤倒数第二个 我错过了什么吗 将 order by 与反向过滤器 一起使用 然后使用 1 抓取
  • 如何在 PyCharm 社区版中运行 Django 项目的调试服务器?

    有人在 PyCharm 社区版中为 Django 项目设置调试配置时遇到问题吗 IDE 的社区版缺少项目设置中的项目类型选项 然后当我设置 调试 或 运行配置 时 它会要求我提供应该运行的脚本 Django 需要什么脚本 manage py
  • “unicode”对象没有属性“_meta”

    我正在尝试创建一个视图 用户在其中从下拉菜单中选择一个选项 提交它 然后返回一些数据 具体来说 他们将从数据库中的模型中进行选择 并返回该类的所有实例 我使用 django tables2 输出数据 以便可以排序 但这是我的症结所在 Vie
  • 为多表继承 Django 模型填充 tastypie 资源

    鉴于以下代码我想知道如何填充RecordsResource每个真实记录数据 models py class Record models Model content type models ForeignKey ContentType edi

随机推荐