ModelViewSet 中的 django-rest 自定义 url

2023-11-27

我在向 django-rest-framework 中的 ModelViewSet 添加自定义 URL 时遇到问题。这是我的主要 urls.py 的示例

router = routers.DefaultRouter()
router.register(r'post', PostViewSet)

urlpatterns = patterns('',
    url(r'^api/', include(router.urls)),
)

我的模型视图集看起来像

class PostViewSet(viewsets.ModelViewSet):
    """
    API endpoint that allows users to be viewed or edited.
    """
    queryset = Post.objects.all()
    serializer_class = PostSerializer
    permission_classes = (permissions.IsAuthenticatedOrReadOnly, IsOwnerOrReadOnly,)
    search_fields = ('created')

    def pre_save(self, obj):
        obj.user = self.request.user


    #
    # based on the post type this will decide which serializer to use for the data
    def get_serializer_class(self):
        #
        # default is the Text role serializer
        return PostSerializer

这对于像这样的网址非常有用

 /api/post/

我希望能有一个固定的日子,比如

/api/post/yyyy/mm/dd/

或者我应该使用类似的东西

/api/post/?year=&month=&day=

将 list 方法作为单独的视图拉出:

post_list = PostViewSet.as_view({'get': 'list'})

然后像平常一样将其映射到基于日期的查找 URL,设置年、月和日的参数。

In get_queryset您可以检查是否设置了这些 kwargs,如果设置了,则过滤查询集。

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

ModelViewSet 中的 django-rest 自定义 url 的相关文章

随机推荐

  • EXCEL VBA - 将工作簿导出到受密码保护的 ZIP 文件

    无论如何 是否可以修改 Ron De Bruin 的代码以将当前工作簿导出到密码保护zip 文件 我已经环顾了一段时间 但不知道如何启用这样的选项 代码在这里 http www rondebruin nl win s7 win001 htm
  • 为什么 CanRead 和 CanWrite 在 C# 中对于具有重写访问器的属性返回 false?

    当尝试从派生属性获取属性访问器或使用 CanRead CanWrite 时 由于某种原因 不考虑基本自动属性 CanRead and CanWrite仅基于派生类型返回值 也GetMethod and SetMethod不包含基类型的方法
  • 使用 php 设置 mp3 的专辑封面

    我正在寻找使用 PHP 设置 mp3 专辑艺术的最佳或任何方法 建议 专辑封面是根据 ID3v2 规范标识为 附加图片 的数据框 并且 getID3 现在只是用纯 PHP 在 ID3v2 中写入所有可能的数据帧的一种方法 看这个来源 htt
  • 将文件加载到 RichTextBox 时,某些超链接不会触发 LinkClicked 事件

    在 NET 4 7 中的一个简单的 Windows 窗体应用程序中 我只有一个RichTextBox在我的表格上 我正在从本地加载在 MS Word 2016 中创建的 rtf 文件 超链接已在 Word 中设置 问题是并非所有链接都会触发
  • 标签如何与非循环语句一起使用?

    根据ECMAScript 5 1 规范 第 12 12 节 任何语句都可以被标记 在简短的测试中 我的浏览器接受了任何语句之前的标签 该规范还规定标签仅用于break and continue语句 快速测试显示 如果这些语句引用的标签未引用
  • 使用 addEventSource 时出现 FullCalendar v.2.2.6 'hasTime' 未定义错误

    我目前正在尝试测试FullCalendar 版本2 2 6 addEventSource button click function calendar fullCalendar removeEventSource cal events 1
  • 没有 GPL 许可证的 Android PDF 查看器库 [关闭]

    Closed 这个问题不符合堆栈溢出指南 目前不接受答案 我正在寻找一个没有 GPL 许可证的 Android PDF 查看器库 有人知道是否有可用的免费许可证库吗 因为我一直在闲逛 发现一些开源库 如 MuPDF Android PDF
  • 执行wait()后,如果一个线程没有得到其他线程的通知,它会等待多长时间?

    在下面的示例中 由于主线程没有收到子线程的通知 因此它应该永远等待 但是主线程正在执行 下面示例的输出是 c l total 19900 为什么主线程会被执行 public class ThreadX extends Thread stat
  • 如何在 Java 中向 XML 输出添加回车符

    在 Java 中 如何在生成的 XML 文件中输出回车符 以便所有内容都不在一行上 DocumentBuilderFactory docFactory DocumentBuilderFactory newInstance DocumentB
  • 是否有用于排序方法的 Visual Studio 2010 扩展?

    StyleCop要求对 C 文件的内容采用特定的排序顺序 例如 字段应在方法之前声明 公共声明应在私有声明之前 如果有一个 Visual Studio 扩展可以自动将这些内容移至该顺序 将会非常有用 Does a good为此存在扩展名 我
  • 排除 s3cmd 同步的文件夹

    我正在使用 s3cmd 我想知道如何排除存储桶中的所有文件夹并仅同步存储桶根 例如 bucket folder two folder two file jpg get jpg 通过同步 我只希望它同步 get jpg 并忽略文件夹及其内容
  • 呼叫操作员 & 的命令是什么?

    I used ls alias 并试图找到 然而 不在输出中 什么是 是不是以下的组合Invoke Command and Invoke Expression 是否有其他操作员在 PowerShell 中没有 cmdlet 呼叫接线员 允许
  • 如何处理 DataGridViewCell 中的 KeyEvent?

    有没有Keydown事件一DataGridViewCell 我想做的是 当用户在特定单元格中键入内容时 他可以按 F1 来获取该特定列的帮助 并且会弹出一些表格 这是什么事件 I found this在论坛中编写代码 并且有效 privat
  • 消息“警告:函数的隐式声明”

    我的编译器 GCC 向我发出警告 警告 函数的隐式声明 为什么它会来 您正在使用编译器尚未看到其声明的函数 原型 yet 例如 int main fun 2 21 The compiler has not seen the declarat
  • 托管 C++ 中的数组初始化

    我希望声明并初始化一个一维托管项目数组 如果是C 代码 我会这样写 VdbMethodInfo methods new VdbMethodInfo new VdbMethodInfo Method1 new VdbMethodInfo Me
  • 如何在命令行中编译多个java源文件

    我知道跑步javac file1 java产生file1 class if file1 java是唯一的源文件 那么我只能说java file1运行它 但是 如果我有 2 个源文件 file1 java and file2 java 那么我
  • Hibernate - 唯一列约束被忽略

    我有一个 MySQL 表来保存标签 即像 Stack Overflow 上使用的标签一样 它只有一个 id pk 和一个用于保存标签本身的标签列 我的标签实体的带注释的 get 方法如下所示 Id GeneratedValue strate
  • 将 YCbCr 颜色空间映射到 RGB

    我正在尝试使用 python 进行 JPEG 压缩 我加载 tiff 图像并将其存储为 numpy uint8 RGB 数组 我这样做是为了颜色映射 def rgb2ycbcr im cbcr np empty like im r im 0
  • NSLog 和 NSLogv 之间的区别

    谁能解释一下 NSLog 和 NSLogv 之间的区别 我知道NSLog用于在控制台打印数据 但什么是NSLogv 假设你想写一个函数如同NSLog 除了记录消息之外 它还将消息保存到数组中 你会如何实施这个 如果你写一个可变参数函数 vo
  • ModelViewSet 中的 django-rest 自定义 url

    我在向 django rest framework 中的 ModelViewSet 添加自定义 URL 时遇到问题 这是我的主要 urls py 的示例 router routers DefaultRouter router registe