问题标签 [drf-nested-routers]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票
2 回答
370 浏览

django - Django Rest Framework路由器-排除前缀的URL

我正在使用带有前缀 + 包含的 DRF 路由器,如下所示:

这使我可以同时访问URLapi/1api/1/myfeatureURL。如何防止第一个 URL 返回 200?该端点的响应是在路由器下注册的所有内容的列表,我不想使其容易获得。

0 投票
1 回答
1076 浏览

django - Django - 使用 drf-nested-routers 反向嵌套 url

我将我的 api url 配置为

使用drf-nested-routers扩展。基本上,每个学生都分配了一些宏观类别,而这些类别又具有一些长期目标 (LTO)。我已经使用curlPostman对其进行了测试,一切似乎都有效。现在我需要为我的 LTO 模型编写一个更精确的测试用例。这是我的urls.py

问题是我无法正确使用reverse()方法来获取我的 LTOViewSet 的 url 来测试它。

这给出了以下错误

在其他测试用例中,我使用非常相似的句子并且效果很好

0 投票
1 回答
105 浏览

django-rest-framework - 使用 drf-nested-routers 的嵌套超链接的视图名称不正确

在给定以下模型的情况下,我正在尝试使用drf-nested-routers创建一个简单的嵌套 Django REST API:

基于readme 域/名称服务器示例,我定义了以下路由器,期望 URL 结构如下:

访问/podcasts/1/episodes/, 当url包含时,会引发以下错误:

为什么它不能识别正确的视图名称,或者我还缺少其他明显的东西

0 投票
1 回答
722 浏览

django - NestedSimpleRouter 没有在路由器中使用查找

我在我的 url.py 中使用了类似以下的 drf-nested-router

视图集是

所以 URL 是这样的,

它给了我正确的结果。但是下面的 URL 也给了我正确的结果,

因为我正在使用会话用户信息来过滤数据。是否可以使 URL 像

提前致谢。

0 投票
2 回答
803 浏览

django - 如何在 Django Rest Framework (DRF) 中控制版本控制

我想知道控制移动应用 API 版本的最佳实践是什么。

要求

  • 如果我更改数据库中的某些内容,则应用程序的先前版本不应该受到影响。
  • 目前我正在做...
0 投票
0 回答
56 浏览

python - 如何使用 DRF 创建非常复杂的路线

我有 4 个模型:学校、班级、学生、地址。我想构建一个类似/api/schools/1/classes/2/students/3/address.

此示例将返回 id 为 3、属于类 2 和学校 1 的学生的地址(将来可能会更复杂)。

在 Java 中,它可以很容易地完成:

但是对于 DRF,我什至不知道如何实现它,因为我对 Python 和 DRF 非常陌生。

现在,我只需编写 4 个ModelViewset对应于上面列出的 4 个模型,即可拥有非常基本的 CRUD 端点。如何创建我预期的 API?

0 投票
0 回答
58 浏览

django - 使用 drf-nested-routers 时 Django Rest Framework“找不到页面”错误

我们有一个 API,允许用户保存他们的玩家资料清单。API 端点是:

但是,此响应中的一个字段非常大,因此我们希望能够对其进行分页并发出请求,例如:

根据文档, drf-nested-routers 包是处理这个问题的方法。文档还使它看起来非常易于使用,但我一定遗漏了一些东西,因为我收到“页面未找到”错误。

这是 urls.py :

视图.py

我不认为模型是问题,但这里是model.py。

我哪里做错了?有人可以指出我正确的方向吗?

0 投票
0 回答
39 浏览

django - 如何以 DRY 方式创建带有嵌套 url 的 rest api?

我正在尝试编写一个简单的 Geocache 应用程序。后端访问应该如下工作:

  • 一个 Geocache 对象包含一般信息(如创建日期或难度级别),但也包含几个指令,它们具有固定的顺序(示例指令:先去坐标 lon/lat)

  • 一般的 URL 结构是

    • example.com/geocache/地理藏宝的列表视图(获取)
    • example.com/geocache/<geocache_pk>/geocache 的详细视图(get/post/put/delete)(所有指令应在此处集中显示,但不能在此处操作)
    • example.com/geocache/<geocache_pk>/instruction/仅用于创建新指令(帖子)
    • example.com/geocache/<geocache_pk>/instruction/<instruction_position/>仅用于指令操作/删除(put/delete)

我试图通过自定义操作和正则表达式来完成这个结构,url_path但我觉得它不够 DRY。我只学习 Django 几天,所以我可能会遗漏一些复杂的模式。

如果一般方法对您有意义,也请告诉我。

感谢你的付出!我真的很感激任何让我变得更好的建议。

模型.py

序列化程序.py

视图.py

网址.py

0 投票
1 回答
78 浏览

python - DRF Django - 制作可路由的反向外键关系数据

我有以下型号

以下意见

和以下路由器

路由器来自drf-nested-routers. 我如何设置一个 url,例如localhost:8000/stocks/appl/price/将显示models.StockPrice特定股票 aapl 的反向外键数据 ()。

目前,当我访问时,localhost:8000/stocks/appl/price我可以同时查看所有股票价格。

0 投票
0 回答
114 浏览

django - 如何在 django 休息框架工作中序列化嵌套的泛型关系

项目中有一点复杂的模型。三个模型通过通用关系相互绑定。

以下是示例模型:

还有一个用于从 Person 模型中获取数据的 Rest API。

现在,我必须在类中添加Company.nameProfile.rank作为嵌套字典列表PersonSerializer

我怎样才能像这样序列化通用关系值: