Django-filter 1.1.0 中的多个模型

2024-04-23

我想为网站的最终用户实现一个过滤器,以便他们可以按价格、评级、性别和位置进行过滤。

这里的问题是价格和评级存储在模型类“评论”中,位置和性别存储在模型类“冒险”中。

在“comment”类中,“adventure”由外键引用。

如何在filters.py 中使用 Django-filter 1.1.0 来处理相互引用的模型“评论”和“冒险”,以根据上述参数进行过滤?

这是我的代码,可以工作,但只过滤“冒险”类。如何扩展此代码以通过外部引用的参数进行过滤以返回匹配的冒险?

过滤器.py

import django_filters

class AdventureFilter(django_filters.FilterSet):
      class Meta:
            model = Adventure
            fields = {
            'gender',
            'location',
            }

模型.py

class Comment(models.Model):
    verfasser = models.ForeignKey(User, on_delete=models.CASCADE)
    related_adventure = models.ForeignKey(Adventure, on_delete=models.CASCADE, related_name='comments')
    rating_choices = (
                      (1, '1 Stern'),
                      (2, '2 Sterne'),
                      (3, '3 Sterne'),
                      (4, '4 Sterne'),
                      (5, '5 Sterne')
    )       
    Rating = models.PositiveIntegerField(null=True, choices=rating_choices,blank=False, default=0)
    verfasst_am = models.DateTimeField(default=timezone.now, blank=True, null=True)
    heading = models.CharField(max_length=100,blank=True,null=True, help_text="100 Zeichen")
    ratingtext= models.TextField(max_length=400, blank=True, null=True,help_text="400 Zeichen")

    price = models.PositiveIntegerField(null=True, help_text="Deine Ausgaben (pro Kopf) bei diesem Adventure", blank=True)



class Adventure(models.Model):
    adventure_id = models.AutoField(primary_key=True)
    owner = models.ForeignKey(User,on_delete=models.CASCADE, null=True)
    name = models.CharField(max_length=64)
    place = PlacesField(blank=False)
    location_CHOICES = (
            ('IN', 'indoor'),
            ('OUT', 'outdoor'),
            ('INOUT', 'indoor and outdoor'),
    )
    location = models.CharField(
            max_length=10,
            choices=lokation_CHOICES,
    )


    gender_CHOICES = (
            ('male', 'male'),
            ('female', 'female'),
            (EGAL, 'egal'),
    )
    gender= models.CharField(
            max_length=9,
            choices=geschlecht_CHOICES,
            default=EGAL,
    )

这是一个例子the docs https://django-filter.readthedocs.io/en/latest/guide/usage.html:

class ProductFilter(django_filters.FilterSet):
    price = django_filters.NumberFilter()
    price__gt = django_filters.NumberFilter(name='price', lookup_expr='gt')
    price__lt = django_filters.NumberFilter(name='price', lookup_expr='lt')

    release_year = django_filters.NumberFilter(name='release_date', lookup_expr='year')
    release_year__gt = django_filters.NumberFilter(name='release_date', lookup_expr='year__gt')
    release_year__lt = django_filters.NumberFilter(name='release_date', lookup_expr='year__lt')

    manufacturer__name = django_filters.CharFilter(lookup_expr='icontains')

    class Meta:
        model = Product

过滤器有两个主要参数:

  • name: The name of the model field to filter on. You can traverse “relationship paths” using Django’s __ syntax to filter fields on a related model. ex, manufacturer__name.

  • lookup_expr: The field lookup to use when filtering. Django’s __ syntax can again be used in order to support lookup transforms. ex, year__gte.

请注意“__”链接,我认为您可以直接使用它,而无需在 fields = [] 内执行这些显式操作

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

Django-filter 1.1.0 中的多个模型 的相关文章

  • 箱线图与箱线图有何不同?

    我想知道当我们在海生图书馆中有箱线图时为什么会有箱线图 我知道一件事是箱线图优化了表示数据的方式 特别是对于大型数据集 但我不知道为什么 除此之外 我没有任何充分的理由使用箱线图 箱线图将中位数显示为中心线 第 50 个百分位数 然后将第
  • 将新形状传递给“np.reshape”

    Within numpy ndarray reshape https docs scipy org doc numpy reference generated numpy ndarray reshape html the shape参数是一
  • 如何在cvxpy中编写多个约束?

    我想在 cvxpy 下的优化问题中添加许多约束 在 matlab 中 我可以通过添加一行 subject to 然后使用 for 循环来生成约束 我怎样才能在 cvxpy 中做同样的工作 因为 cvxpy 中没有 服从 概念 有什么建议吗
  • 日期/时间值的 Django URL 转换器

    我正在尝试使用 Django 内置的 URL 转换器将 URL 中的日期时间字符串转换为视图中的日期对象 如果我手动输入 URL 它们会按预期工作 但尝试为其生成 URL 时找不到匹配项 我的转换器很简单 from django utils
  • 从 SQL Server 中调用 Python 文件

    我的文件名中有 Python 脚本 C Python HL py 在此 Python 脚本中 有预测模型以及对 SQL 数据库中某些表的更新 我想将此文件称为 SQL 作业 我怎样才能做到这一点 这个问题不一样 如何在 SQL Server
  • 使用 asyncore 读取网站

    我想异步阅读一个网站 据我所知 这是不可能的 urllib 现在我尝试使用普通套接字进行阅读 但是 HTTP 给我带来了麻烦 我遇到了各种时髦的编码 例如传输编码 分块 必须手动解析所有这些东西 我现在想编码 C 而不是 python 难道
  • 使用 Pandas 滚动差异

    您好 我正在尝试使用 Pandas 滚动函数来计算下表中的滚动差异 我正在尝试生成 每月可用项目 列中的值 但没有得到任何结果 请帮忙 Item Adds Subtracts Month Monthly Available items A
  • 使用python同时播放两个正弦音

    我正在使用 python 来播放正弦音 音调基于计算机的内部时间 以分钟为单位 但我想根据秒同时播放一个音调 以获得和谐或双重的声音 这就是我到目前为止所拥有的 有人能指出我正确的方向吗 from struct import pack fr
  • 将带有非字符串关键字的 dict 传递给 kwargs 中的函数

    我使用具有签名功能的库f args kwargs 我需要在 kwargs 参数中传递 python dict 但 dict 不包含关键字中的字符串 f 1 2 3 4 Traceback most recent call last File
  • 在Python中随机化列表[重复]

    这个问题在这里已经有答案了 我想知道是否有一个好方法来 震动 Python 中的项目列表 例如 1 2 3 4 5 可能会被动摇 随机化 3 1 4 2 5 任何顺序都同样可能 from random import shuffle list
  • 遍历 globals() 字典

    我 尝试 使用globals 在我的程序中迭代所有全局变量 我就是这样做的 for k v in globals iteritems function k v 当然 这样做时 我只是创建了另外 2 个全局变量 k and v 所以我得到这个
  • __subclasses__ 没有显示任何内容

    我正在实现一个从适当的子类返回对象的函数 如果我搬家SubClass from base py 没有出现子类 subclasses 它们必须在同一个文件中吗 也许我从来没有直接导入subclass py对Python隐藏子类 我能做些什么
  • 在 Python 中将 int 转换为 ASCII 并返回

    我正在为我的网站制作一个 URL 缩短器 我当前的计划 我愿意接受建议 是使用节点 ID 来生成缩短的 URL 因此 理论上 节点 26 可能是short com z 节点 1 可能是short com a 节点 52 可能是short c
  • 将 Matlab MEX 文件中的函数直接嵌入到 Python 中

    我正在使用专有的 Matlab MEX 文件在 Matlab 中导入一些仿真结果 当然没有可用的源代码 Matlab 的接口实际上非常简单 因为只有一个函数 返回一个 Matlab 结构体 我想知道是否有任何方法可以直接从Python调用M
  • captureWarnings 设置为 True 不会捕获警告

    我想记录所有警告 我以为这样的设定captureWarnings to True应该可以解决问题 但事实并非如此 代码 import logging import warnings from logging handlers import
  • 在 python 中计时时,我应该如何考虑 subprocess.Popen() 开销?

    编码社区的成员比我更聪明 我有一个 python 问题要问你们 我正在尝试优化一个 python 脚本 该脚本 除其他外 返回子进程执行和终止的挂钟时间 我想我已经接近这样的事情了 startTime time time process s
  • NumPy 数组不可 JSON 序列化

    创建 NumPy 数组并将其保存为 Django 上下文变量后 加载网页时收到以下错误 array 0 239 479 717 952 1192 1432 1667 dtype int64 is not JSON serializable
  • 如何克服 numpy.unique 的 MemoryError

    我正在使用 Numpy 版本 1 11 1 并且必须处理一个二维数组 my arr shape 25000 25000 所有值都是整数 我需要一个唯一的数组值列表 使用时lst np unique my arr 我正进入 状态 Traceb
  • mypy 错误:赋值中的类型不兼容(表达式的类型为“Dict[, ]”,目标的类型为“List[str]”)

    我尝试过了实例化一个空字典在现有字典的第二层上 然后为其分配一个键值对 但 MyPy 会抛出错误 这是一个最小的示例 当激活 MyPy 检查时它将重现它 result Test something result key result key
  • 如何访问模板缓存? - 姜戈

    I am 缓存 HTML在几个模板内 例如 cache 900 stats stats endcache 我可以使用以下方式访问缓存吗低级图书馆 例如 html cache get stats 我确实需要对模板缓存进行一些细粒度的控制 有任

随机推荐

  • 单击开放图层版本 5 标记上的特征

    我正在使用开放层库版本 5 我需要标记上的 onClick 事件来执行一些业务逻辑 任何人都可以帮我解决这个问题 谢谢 我已经尝试了所有代码和片段 我正在使用这个库来响应js import Feature from ol Feature i
  • 通过css替换图片

    我正在 Stylish 一个 Firefox 插件 中编写代码来更改显示的图像 image 属性没有 div 标签 所以我必须使用它 img src s dschjungelplanet 因此 这将替换页面中任何位置的 img src 中的
  • 使用多个提供程序的客户端应用程序应使用什么设计/模式?

    这是一个与设计相关的问题 假设我们有一个名为 ClientAPI 的公共 API 其中包含一些 Web 方法 例如 CreateAccount GetAccount 根据客户的不同 我们使用许多不同的提供商来满足这些请求 假设我们有 Pro
  • 如何在Python中在后台运行长时间运行的作业

    我有一个运行长时间运行的作业 大约几个小时 的网络服务 我正在使用 Flask Gunicorn 和 nginx 来开发它 我想做的是让需要很长时间才能完成的路线 调用创建线程的函数 然后 该函数将向路由返回一个 guid 并且路由将返回一
  • C# FileSystemWatcher 和 FTP

    我通过文件系统观察器监视在 ftp 上删除的文件 然后移动到另一个目录 现在我触发文件系统观察程序的创建事件的复制 但显然在 ftp 的情况下 创建只是一个存根文件 数据会进入并在上传时填充文件直至完成 任何人对此都有一个优雅的解决方案 或
  • Python Mogo ImportError:无法导入名称连接

    不明白为什么这不起作用 mogo 0 2 4 File Users Sam Envs AdiosScraper lib python2 7 site packages mogo connection py line 3 in
  • 将单词的第一个字母大写,同时删除空格(Haskell)

    我刚刚开始使用 Haskell 这就像我正在写的第三件事 所以 自然地 我发现自己有点困惑 我正在尝试编写一些代码 该代码将获取一个字符串 删除空格 并将该字符串的每个字母大写 例如 如果我输入 这是一个测试 我想返回类似 thisIsAT
  • HierarchyID 如何从子级获取所有父级

    我对菜单的层次结构 ID 和用户权限有疑问 例如 我只想为用户提供 4 级的权限 并且我的查询应自动从 4 级子级中选择所有父级 这个怎么做 你明白我的问题吗 我只想要孩子的所有父母 祖先 问候曼努埃尔 我最近一直在使用 Hierarchy
  • 如何在 WPF 中折叠星形大小的网格列?

    通过设置使三列具有相同的宽度Width to Auto
  • 如何防止键盘隐藏我的EditText?

    我在顶部有一个relativeLayout 然后在下面的中心有一个ListView 最后在底部我有另一个relativeLayout 里面有一个EditText和一个Button 我希望当我单击 EditText 并出现 IME 虚拟键盘
  • 连接到 ACCESS 2007 (ODBC) 时如何在 PHP 上设置 UTF8

    我在 Access 文件中有泰文 日文 韩文字符 3 个字段 我在 PHP 中创建了一个脚本来连接到该文件 但显示的字符显示 和 设置什么才能显示正常字符 这是我的脚本
  • 使用 Unicode 字符打印 Pandas 列

    我有一个 pandas 数据框 其中有一列包含 unicode 编码名称 import pandas as pd no unicode pd Series Steve Jason Jake yes unicode pd Series tea
  • 在 Python 中将视频源从 Javascript 传递到 OpenCV

    我正在尝试创建一个网络应用程序来检测实时视频源中的面孔 我已经用 Javascript 编写了网络摄像头源代码 因为我想稍后托管该应用程序 使用 Javascript 获取 feed 的代码 var video document query
  • 选择公平的团队——并用数学来证明这一点

    应用 类似于选择操场团队 我必须将 n 个按顺序排列的元素的集合分成 n 2 的两队 团队必须尽可能 均匀 如上所述 从游乐场团队的角度考虑 偶数 排名表明相对 技能 或价值水平 元素 1 值 1 个 点 元素 2 值 2 个 点 等等 没
  • 模块元数据版本不匹配错误

    我在尝试构建我的角度项目时遇到此错误 模块元数据版本不匹配错误 C Users Admin ifish web node modules angular2 cool storage index d ts 找到版本 4 预期版本 3 解析符号
  • 从 WebView 从我自己的网页获取 html 元素?

    我有一个网络视图 显示来自我自己的服务器的页面 是否可以添加一个 javascript 方法 允许我的 Android 应用程序从 web 视图中读出页面元素 就像是 mypage html p some data p my android
  • Windows 上的 Jenkins 与 Docker - 无法运行程序“nohup”

    我正在使用Jenkins Azure VM 代理插件 https plugins jenkins io azure vm agents与 Linux Master 一起在 Windows 代理上启动作业 我已经完成了所有配置步骤 一切正常
  • java.lang.IllegalArgumentException:由于密钥无效而无法初始化

    我遇到加密异常 我在跑 操作系统 X 10 11 爪哇1 8 Groovy 版本 2 4 4 摇篮2 3 20141027185330 0000 JAVA HOME Library Java JavaVirtualMachines jdk1
  • 无法在 debian 上安装 node-libcurl

    请告诉我为什么我无法安装 node libcurl 以下是安装 npm install node libcurl 时显示的错误 gt email protected cdn cgi l email protection install va
  • Django-filter 1.1.0 中的多个模型

    我想为网站的最终用户实现一个过滤器 以便他们可以按价格 评级 性别和位置进行过滤 这里的问题是价格和评级存储在模型类 评论 中 位置和性别存储在模型类 冒险 中 在 comment 类中 adventure 由外键引用 如何在filters