Django REST Framework 添加一个 ViewSet 作为另一个 ViewSet 上的详细信息

2024-03-15

我有两种模型,一种是盒子,一种是盒子评论:

class BoxViewSet(viewsets.ModelViewSet): queryset = Box.objects.all() permission_classes = IsAuthenticated, serializer_class = BoxSerializer

class BoxCommentViewSet(viewsets.ModelViewSet): model = BoxComment serializer_class = CommentSerializer permission_classes = IsAuthenticated def get_queryset(self): # this should return a queryset that filters based on the # box in the route return BoxComment.objects.all()

如果我设置了路由器以使 Boxes 可用/boxes/以及特定盒子可在/boxes/{id}/ using
router.register(r'boxes', feed.views.BoxViewSet)
是否可以在以下位置发表评论:/boxes/{id}/comments/?或者我应该设置一个单独的路由并使用 GET/POST 参数来引用特定的框?


我没有看到执行此操作有任何问题(我已经在我的项目中使用它并且一切都很好)-您所需要的只是一个带有box_id夸格。这与“嵌套路由器”无关,它只是通过 url kwarg 进行显式过滤的另一个端点。

router.register(r'boxes/(?P<box_id>\d+)/comments', BoxCommentViewSet)

然后直接过滤掉对应的评论即可get_queryset

class BoxCommentViewSet(viewsets.ModelViewSet):

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

Django REST Framework 添加一个 ViewSet 作为另一个 ViewSet 上的详细信息 的相关文章

  • NLTK 2.0分类器批量分类器方法

    当我运行此代码时 它会抛出一个错误 我认为这是由于 NLTK 3 0 中不存在batch classify 方法 我很好奇如何解决旧版本中的某些内容在新版本中消失的此类问题 def accuracy classifier gold resu
  • VSCode Settings.json 丢失

    我正在遵循教程 并尝试将 vscode 指向我为 Scrapy 设置的虚拟工作区 但是当我在 VSCode 中打开设置时 工作区设置 选项卡不在 用户设置 选项卡旁边 我还尝试通过以下方式手动转到文件 APPDATA Code User s
  • 我应该使用 Python 双端队列还是列表作为堆栈? [复制]

    这个问题在这里已经有答案了 我想要一个可以用作堆栈的 Python 对象 使用双端队列还是列表更好 元素数量较少还是数量较多有什么区别 您的情况可能会根据您的应用程序和具体用例而有所不同 但在一般情况下 列表非常适合堆栈 append is
  • 使用主题交换运行多个 Celery 任务

    我正在用 Celery 替换一些自制代码 但很难复制当前的行为 我期望的行为如下 创建新用户时 应向tasks与交换user created路由键 该消息应该触发两个 Celery 任务 即send user activate email
  • MongoEngine 查询具有以列表中指定的前缀开头的属性的对象的列表

    我需要在 Mongo 数据库中查询具有以列表中任何前缀开头的特定属性的元素 现在我有一段这样的代码 query mymodel terms term in query terms 并且这会匹配在列表 term 上有一个项目的对象 该列表中的
  • 打印数字时添加千位分隔符[重复]

    这个问题在这里已经有答案了 我真的不知道这个问题的 名称 所以它可能是一个不正确的标题 但问题很简单 如果我有一个数字 例如 number 23543 second 68471243 我想要它使print 像这样 23 54368 471
  • 矩形函数的数值傅里叶变换

    本文的目的是通过一个众所周知的分析傅里叶变换示例来正确理解 Python 或 Matlab 上的数值傅里叶变换 为此 我选择矩形函数 这里报告了它的解析表达式及其傅立叶变换https en wikipedia org wiki Rectan
  • Python 内置的 super() 是否违反了 DRY?

    显然这是有原因的 但我没有足够的经验来认识到这一点 这是Python中给出的例子docs http docs python org 2 library functions html super class C B def method se
  • 从 Powershell 脚本安装 Python

    当以管理员身份从 PowerShell 命令行运行以下命令时 可以在 Windows 11 上成功安装 Python c temp python 3 11 4 amd64 exe quiet InstallAllUsers 0 Instal
  • 使用 Python Oauthlib 通过服务帐户验证 Google API

    我不想使用适用于 Python 的 Google API 客户端库 但仍想使用 Python 访问 Google APIOauthlib https github com idan oauthlib 创建服务帐户后谷歌开发者控制台 http
  • 导入错误:没有名为flask.ext.login的模块

    我的flask login 模块有问题 我已经成功安装了flask login模块 另外 从命令提示符我可以轻松运行此脚本 不会出现错误 Python 2 7 r27 82525 Jul 4 2010 07 43 08 MSC v 1500
  • Django 视图中的“请求”是什么

    在 Django 第一个应用程序的 Django 教程中 我们有 from django http import HttpResponse def index request return HttpResponse Hello world
  • 将 Matlab 的 datenum 格式转换为 Python

    我刚刚开始从 Matlab 迁移到 Python 2 7 在读取 mat 文件时遇到一些问题 时间信息以 Matlab 的日期数字格式存储 对于那些不熟悉它的人 日期序列号将日历日期表示为自固定基准日期以来已经过去的天数 在 MATLAB
  • Python GTK+ 画布

    我目前正在通过 PyGobject 学习 GTK 需要画布之类的东西 我已经搜索了文档 发现两个小部件似乎可以完成这项工作 GtkDrawingArea 和 GtkLayout 我需要一些基本函数 如 fillrect 或 drawline
  • Spider 必须返回 Request、BaseItem、dict 或 None,已“设置”

    我正在尝试从以下位置下载所有产品的图像 我的蜘蛛看起来像 from shopclues items import ImgData import scrapy class multipleImages scrapy Spider name m
  • PySpark groupByKey 返回 pyspark.resultiterable.ResultIterable

    我试图找出为什么我的 groupByKey 返回以下内容 0
  • 带有 LSTM 的 GridSearchCV/RandomizedSearchCV

    我一直在尝试通过 RandomizedSearchCV 调整 LSTM 的超参数 我的代码如下 X train X train reshape X train shape 0 1 X train shape 1 X test X test
  • 制作一份 Python 文档的 PDF 文件

    Python 官方网站提供 PDF 文档下载 但它们是按章节分隔的 我下载了源代码并构建了 PDF 文档 这些文档也是单独的 PDF 我怎么能够从源代码中的 Makefile 构建一个 PDF 文件 我认为这样阅读起来会更方便 如果连接单独
  • 根据 Pandas 中的列表选择数据框行的子集

    我有一个数据框df1并列出x In 22 import pandas as pd In 23 df1 pd DataFrame C range 5 B range 10 20 2 A list abcde In 24 df1 Out 24
  • 将索引与值交换的最快方法

    考虑pd Series s s pd Series list abcdefghij list ABCDEFGHIJ s A a B b C c D d E e F f G g H h I i J j dtype object 交换索引和值并

随机推荐

  • 停止 Thrift 服务器(TSimpleServer)

    我有一个 Thrift 服务器的简单用例 TSimpleServer 其中我生成了几个线程 除了主线程之外 新生成的线程之一进入 Thrift 事件循环 即server serve 在主线程中收到信号后 我调用server stop 这导致
  • 需要将我的基于 HTML5 的 Web 应用程序转换为面向所有移动设备的移动应用程序

    是否可以将我现有的 HTML jquery js 网站转换为针对所有设备 iPhone Android 黑莓等 的移动应用程序 以下是我能想到的几点 如果我错了 请纠正我 添加 jquerymobile js 并更改 css 样式 基于访问
  • 让控制器发回不带 Content-Type 标头的响应

    我在控制器内设置了一个 Rails 3 代理方法 以使用 Nginx 的 X Accel Redirect 在允许用户的情况下从远程服务器传递特定的 URI 不幸的是 Rails 总是发送某种 Content Type 标头 该标头优先于从
  • 自动替换wpf RichTextBox中的文本

    我有一个 WPF NET 4 C RichTextBox我想用其他字符替换该文本框中的某些字符 这将发生在KeyUp event 我想要实现的目标是将首字母缩略词替换为完整单词 例如 pc 个人电脑sc 星际争霸 etc 我查看了一些类似的
  • 转义注释标签内的 html

    转义 html 没问题 它会删除 lt s and gt s etc 我遇到了一个问题 我在注释标签内输出文件名 例如 当然 如果你不逃避 事情可能会很糟糕 所以它变成了 问题是 如果文件名称中包含 则所有 html 都会被搞砸 因为不允许
  • didMove(查看: SKView) 和 didMoveToView(查看: SKView) 有什么区别?

    如标题所示 didMove to view SKView 和 didMoveToView view SKView 有什么区别 我知道 didMoveToView 是方法 并且该视图在旧 版本中属于 SKView 类型 我不明白将 查看 SK
  • iPad iPhone 规模背景图片

    只是想知道是否有其他人经历过 iPad iPhone 缩小背景图像以适应视口的情况 就我而言 我通过 JavaScript 交换背景图像 新的背景图像超宽 适合大型显示器 然而 iPad 正在缩小通过 javascript 添加到 DOM
  • 使用 CSS 剪辑/裁剪背景图像

    我有这个 HTML div lorem ipsum div 使用这个CSS graphic background image url image jpg width 200px height 100px 我应用的背景图像是 200x100
  • 有没有办法在flutter中从iOS中排除包?

    我正在使用仅适用于 Android 的 sms maintained 包 然而 该项目需要一个iOS版本 我目前正在做的是在开发iOS时删除该包 如何将包保留在 pubspec yaml 文件中 但禁止 iOS 检入该包 目标是拥有统一的代
  • PHP 中的 \x00 、 \x04 是什么意思

    我有一些代码有 x00 and x04 十六进制代码 这是什么意思 str implode x00 var message line 1 id var message x04 id line 2 将会发生什么线路 1 和线路 2我想将这些写
  • 为什么数组是协变的,而泛型是不变的?

    来自 Joshua Bloch 的 Effective Java 数组与泛型类型有两个重要的不同之处 第一个数组是协变的 泛型是不变的 协变仅仅意味着如果 X 是 Y 的子类型 那么 X 也将是 Y 的子类型 数组是协变的 因为字符串是对象
  • 根据行逐步对 Numpy Python 矩阵进行排序

    我四处寻找并试图找到解决这个看似简单问题的方法 但一无所获 问题是根据矩阵的列逐步对矩阵进行排序 所以 如果我有一个像这样的 numpy 矩阵 import numpy as np X np matrix 0 0 1 2 0 0 1 1 0
  • 是否可以使 eclipse p2 配置机制在*本地*运行?

    Eclipse 3 4 x 也称为Ganymede http www eclipse org downloads packages 附带了一种新的配置机制 称为p2 配置 是允许按需发现和更新应用程序的某些部分的过程 正如本文中关于太阳网站
  • System.Security.SecurityException:主体权限请求失败

    任何人都可以帮助我指出如何修复此错误的正确方向吗 System Web Services Protocols SoapException Server was unable to process request gt System Secu
  • 获取kivy中选定复选框的值

    test py import sqlite3 as lite from kivy uix screenmanager import Screen from kivy app import App from kivy lang import
  • Rsync 仅创建符号链接

    我目前 rsync 运行良好 它将我的所有文件从一个目录复制到另一个目录 唯一的事情是它是物理复制文件 我有很多大文件 我不想拥有所有文件的副本 我只想在新目录中创建一个符号链接 以便我可以在网页上提供数据 源目录中有一些我不希望公众看到的
  • 如何识别和删除换行符和空格?

    我正在通过按组件分隔字符串来创建一个 nsmutable 数组 这会导致在数组中插入大量换行符和空格 如何识别和删除它们 for int i 0 i
  • 解码ima4音频格式

    为了减少 iPhone 应用程序的下载大小 我压缩了一些音频文件 具体来说 我在命令行上使用 afconvert 将 wav 格式更改为 caf 格式 带 ima4 压缩 我读了this http www wooji juice com b
  • 带有循环动画的浓缩咖啡冻结视图

    我有一个视图 其中一个元素在无限循环中使用以下内容进行动画处理
  • Django REST Framework 添加一个 ViewSet 作为另一个 ViewSet 上的详细信息

    我有两种模型 一种是盒子 一种是盒子评论 class BoxViewSet viewsets ModelViewSet queryset Box objects all permission classes IsAuthenticated