Django 过滤器错误:“Meta.fields”不得包含非模型字段名称

2024-01-01

我正在使用 Django REST 框架和 django-filters,并且我想使用反向关系annotation_set作为过滤器之一GET使用模型的 APIDetection。 型号如下:

class Detection(models.Model):
    image = models.ImageField(upload_to="detections/images")

    def local_image_path(self):
        return os.path.join('images' f"{self.id}.jpg")


class Annotation(models.Model):
    detection = models.ForeignKey(Detection, on_delete=models.CASCADE)
    attribute = models.CharField(max_length=255)

序列化器是:

class DetectionSerializer(UniqueFieldsMixin, serializers.ModelSerializer):
    local_image_path = serializers.CharField()

    class Meta:
        model = Detection
        fields = '__all__'

视图集是:


class DetectionTrainingViewSet(
        mixins.ListModelMixin,
        mixins.RetrieveModelMixin,
        viewsets.GenericViewSet
    ):
    queryset = Detection.objects.all()
    serializer_class = DetectionSerializer
    filterset_fields = ('annotation_set__id', )

    @action(methods=['GET'], detail=False)
    def list_ids(self, request):
        queryset = self.get_queryset()
        filtered_queryset = self.filter_queryset(queryset)
        return Response(filtered_queryset.values_list('id', flat=True))

当我调用端点时,出现错误:

'Meta.fields' must not contain non-model field names: annotation_set__id

这个领域不应该存在吗? 注意:我尝试将其他字段添加到Annotation模型然后使用annotation_set__newfield但我仍然有错误。我可以确认newfield存在是因为当我注释掉设置filterset_fields.


显然我必须明确说明反向关系的名称:

class Annotation(models.Model):
    detection = models.ForeignKey(Detection, on_delete=models.CASCADE, related_name='annotation_set')
    attribute = models.CharField(max_length=255)

如果有人知道为什么,我很想知道!谢谢!

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

Django 过滤器错误:“Meta.fields”不得包含非模型字段名称 的相关文章

  • boto3 资源(例如 DynamoDB.Table)的类型注释

    The boto3库提供了几种返回资源的工厂方法 例如 dynamo boto3 resource dynamodb Table os environ DYNAMODB TABLE 我想注释这些资源 以便我可以获得更好的类型检查和完成 但我
  • Python从int到string的快速转换

    我正在用 python 求解大量阶乘 并发现当我完成计算阶乘时 需要相同的时间才能转换为字符串以保存到文件中 我试图找到一种将 int 转换为字符串的快速方法 我将举一个计算和 int 转换时间的例子 我正在使用通用的 a str a 但感
  • Jupyter Notebooks 不显示进度条

    我正在尝试在 Jupyter 笔记本中显示进度条 这是一台新电脑 我通常做的事情似乎不起作用 from tqdm import tqdm notebook example iter 1 2 3 4 5 for rec in tqdm not
  • 如何使用显式引用转储 YAML?

    递归引用非常适合ruamel yaml or pyyaml ruamel yaml dump ruamel yaml load A A id001 id001 然而 它 显然 不适用于普通引用 ruamel yaml dump ruamel
  • 可以用 Django 制作移动应用程序吗?

    我想知道我是否可以在我的网站上使用 Django 代码 并以某种方式在移动应用程序 Flutter 等框架中使用它 那么是否可以使用我现在拥有的 Django 后端并在移动应用程序中使用它 所以就像models views etc 是的 有
  • 更改 python tkinter canvas 中的线坐标

    我画了一条线tkinter Canvas现在我想移动一端 这可能吗 例如和itemconfig import tkinter tk tkinter Tk canvas tkinter Canvas tk canvas pack line c
  • Python Pandas 根据另一列的总计从另一个数据帧中选择值

    我下面有一个 DataFrame 但我需要根据取消和订单列从每个代码中选择行 假设代码 xxx 的阶数为 6 1 5 1 阶数为 11 我需要一种算法 可以选择满足总共 11 行的行 阶数为 6 5 如果没有行匹配 则选择最接近的 id 并
  • 使用 scipy curve_fit 拟合噪声指数的建议?

    我正在尝试拟合通常按以下方式建模的数据 def fit eq x a b c d e return a 1 np exp x b c np exp x d e x np arange 0 100 0 001 y fit eq x 1 1 1
  • 与 while 循环一样,如何跳过 for 循环中的步骤?

    我尝试像 while 循环一样跳过 for 循环中的几个步骤 在 while 循环中 步骤根据特定条件进行调整 如下面的代码所示 i 0 while i lt 10 if i 3 i 5 else print i i i 1 result
  • 在Python中计算内存碎片

    我有一个长时间运行的进程 不断分配和释放对象 尽管正在释放对象 但 RSS 内存使用量会随着时间的推移而增加 如何计算发生了多少碎片 一种可能性是计算 RSS sum of allocations 并将其作为指标 即便如此 我该如何计算分母
  • 如何使用 paramiko 查看(日志)文件传输进度?

    我正在使用 Paramiko 的 SFTPClient 在主机之间传输文件 我希望我的脚本打印文件传输进度 类似于使用 scp 看到的输出 scp my file user host user host password my file 1
  • 将文本注释到轴并对齐为圆

    我正在尝试在轴上绘制文本并将该文本与圆对齐 更准确地说 有一些具有不同坐标 x y 的点位于该圆内 并使用以下命令创建 ax scatter x y s 100 我想用圆圈连接并标记每个点 Cnameb 文本的坐标由 xp yp 定义 因此
  • Python 类型安全吗?

    根据维基百科 https en wikipedia org wiki Type system Type safety and memory safety 如果一种语言不允许违反类型系统规则的操作或转换 计算机科学家就认为该语言是 类型安全的
  • 如何在 Django Rest Framework 中将当前用户设置为用户字段?

    我有以下代码完美运行 我可以创建一个Post通过选择图像和用户从 DRF 面板中获取对象 但是我希望 DRF 由当前登录的用户填充用户字段 模型 py class Post TimeStamped user models ForeignKe
  • Python 声音(“铃声”)

    我想让一个 python 程序在完成任务时通过发出嘟嘟声来提醒我 目前 我使用import os然后使用命令行语音程序说 进程完成 我更愿意它是一个简单的 铃 我知道有一个函数可以用于Cocoa apps NSBeep 但我认为这与此没有太
  • Python]将两个文本文件合并为一个(逐行)[关闭]

    Closed 这个问题需要多问focused help closed questions 目前不接受答案 我是蟒蛇新手 我想做的是将文件 a 和文件 b 逐行合并到一个文件中 例如 text file a a n b n c text fi
  • 如何将回溯/sys.exc_info() 值保存在变量中?

    我想将错误名称和回溯详细信息保存到变量中 这是我的尝试 import sys try try print x except Exception ex raise NameError except Exception er print 0 s
  • 如何使用 Keras ImageDataGenerator 预测单个图像?

    我已经训练 CNN 对图像进行 3 类分类 在训练模型时 我使用 keras 的 ImageDataGenerator 类对图像应用预处理功能并重新缩放它 现在我的网络在测试集上训练得非常准确 但我不知道如何在单图像预测上应用预处理功能 如
  • 更改 Python Cmd 模块处理自动完成的方式

    我有一个 Cmd 控制台 设置为自动完成 Magic the Gathering 收藏管理系统的卡牌名称 它使用文本参数在数据库中查询卡片 并使用结果自动完成 建议卡片 然而 这些卡片名称有多个单词 Cmd 会从last到行尾的空间 例如
  • 长/宽数据到宽/长

    我有一个数据框 如下所示 import pandas as pd d decil 1 decil 1 decil 2 decil 2 decil 3 decil 3 decil kommune AA BB AA BB AA BB 2010

随机推荐

  • CSS 行高指南

    我记得读过一份风格指南 解释了每个元素的正确行高应该是多少 我在谷歌上找不到它 如果有人可以将我链接到这样的指南 或者在答案中进行解释 我将不胜感激 Thanks 编辑 抱歉 请让我澄清一下 我不是问如何使用 CSS 设置行高 而是问各种元
  • 如何将文本区域滚动条默认设置为底部?

    我有一个文本区域 当用户输入被发送时 它会动态地重新加载 它每隔几秒钟刷新一次 当此文本区域中的文本量超过文本区域的大小时 会出现滚动条 但是 滚动条实际上 并不可用 因为如果您开始向下滚动 几秒钟后文本区域会刷新并将滚动条带回到顶部 我想
  • macOS WKWebView 背景透明度

    如果有人有经验WKWebView 请分享如何使视图背景透明 这WebView对象有这样的选项var drawsBackground Bool get set 但它缺少WKWebView班级 我在网上搜索并 什么也没找到 以前可以通过以下方式
  • iframe 中的 Google 跟踪代码管理器数据层

    我想知道是否可以在 iframe 与其父页面之间 同步 数据层 情况 我有一个带有 GTM 容器和硬编码数据层的父页面 在该父页面中 我有一个具有相同 GTM 容器的 iframe 我想要做的是从 iframe 读取父级中的 dataLay
  • Rails 4 跨子域会话

    我正在尝试以下方法 但没有成功尝试跨子域保留会话 MyApp Application config session store cookie store key myapp session domain gt all tld length
  • Django 1.6 中的静态文件

    我可能在这里做错了很多事情 因为尽管严格遵循了教程 但我仍然无法让静态文件在我的开发环境中正常工作 我有一种感觉 因为它在 Django 1 6 中的工作方式略有不同 而且我只能找到以前版本的答案 这是我的目录结构 mysite app1
  • Xcode 12.5:SPM 依赖项缓存位置

    Swift 包管理器有了新的Xcode 12 5 中的功能 https developer apple com documentation xcode release notes xcode 12 5 beta release notes
  • BigQuery:如何通过窗口函数合并 HLL 草图? (在滚动窗口上计算不同值)

    相关表架构示例 activity date TIMESTAMP user id STRING 2017 02 22 17 36 08 UTC fake id i24385787 2017 02 22 04 27 08 UTC fake id
  • 将元组有效地处理为固定大小的向量

    在 Chapel 中 同构元组可以像小的 向量 一样使用 例如 a b c 3 0 5 0 但是 由于没有为元组提供各种数学函数 因此我尝试编写一个函数norm 并通过多种方式比较了它们的性能 我的代码是这样的 proc norm 3tup
  • MYSQL使用范围/限制对数据的所有行和分页进行计数

    我不知道这是否是重复的 但这是我的问题 我试图实现从数据库中获取的数据的分页 我的困境是 我应该进行分页 分组查询数据吗 5 使用限制 范围进行选择 然后将它们显示在带分页的表格中 它将有页码 因此需要计算所有表条目 因此初始显示将需要 2
  • WordPress 本地主机不工作[重复]

    这个问题在这里已经有答案了 我是 WordPress 新手 所以请帮忙 我知道已经存在一些与此相关的问题 但它不起作用 因此寻求帮助 我已经克隆了一个实时存储库并将其保存在我的 WAMP www 文件夹中 该文件夹通常用于其他 php 站点
  • 将 Numpy 数组重塑为形状为 (n, n, n) 的立方体的字典顺序列表

    为了理解我想要实现的目标 让我们想象一个 ndarraya有形状 8 8 8 我从中按字典顺序选取形状块 4 4 4 因此 在迭代这些块时 索引将如下所示 0 a 0 4 0 4 0 4 1 a 0 4 0 4 4 8 2 a 0 4 4
  • 如何反序列化大 JSON 文件 (~300Mb)

    我想解析一个JSON文件 大小 300Mb 我用Jackson图书馆和ObjectMapper 如果我出现记忆问题 这正常吗 第一次 我使用BufferedReader 它会使应用程序崩溃 接下来 我使用这个库 解析并保存到SQLite数据
  • 找到一对没有交集的对

    Given a set of n pairs of integers is there a fast way to determine if there exists two pairs x1 y1 and x2 y2 so that th
  • Xamarin Toast 消息错误 (C#)

    我想显示一条吐司消息 如果我在 onCreate 中执行此操作 效果会很好 但我想这样做 但出现错误 Java Lang NullPointerException 尝试调用虚拟方法 android content res Resources
  • GCC 链接器脚本 - 将 .bss 部分分割到多个 RAM 区域

    嵌入式设备有两个 SRAM 区域 首先位于 0x20000000 长度为 16k 然后在 0x20040000 处长度为 96k 在应用程序中 生成的 bss 部分大小为 102k 因此它不完全适合任一 RAM 区域 它需要在两个区域之间划
  • 属性路由在区域中不起作用

    场景 我的 ASP NET MVC 5 站点中有一个表单区域 我正在尝试重定向到详细信息操作 该操作使用使用新的属性路由功能定义的自定义路由 重定向到操作 return RedirectToAction Details new slug 我
  • 使用 OpenSSL 解密 .ts 文件

    一切都在同一个目录中 M3u8 文件 EXTM3U EXT X ALLOW CACHE NO EXT X TARGETDURATION 10 EXT X MEDIA SEQUENCE 0 EXT X KEY METHOD AES 128 U
  • Bootstrap 模式样式的位置固定关闭按钮在 Internet Explorer 中无法正确显示

    我正在开发一个网站 该网站使用了引导程序3 0 2版本 我设计了一个模态关闭按钮 它可以在除 Internet Explorer 之外的所有浏览器中正确显示 我已在 ie 11 上检查过 基本上 为了让它看起来像这样 我用过这个CSS mo
  • Django 过滤器错误:“Meta.fields”不得包含非模型字段名称

    我正在使用 Django REST 框架和 django filters 并且我想使用反向关系annotation set作为过滤器之一GET使用模型的 APIDetection 型号如下 class Detection models Mo