问题标签 [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 投票
3 回答
11953 浏览

django - 带有 drf-nested-routers 的 Django-rest-framework 嵌套 url

我正在使用drf-nested-routers包构建嵌套 API。

但是/domains/1/nameservers/,给了我我拥有的所有名称服务器,而不仅仅是一个与域#1 相关的名称服务器

我认为问题在于我使用默认教程 NameServerViewSet 实现

请帮我正确编码。

下面是来自drf-nested-routers github 页面的示例。

drf-nested-routers 提供嵌套路由器,在下面生成 url 模式

\domain\ <- 域列表 \domain{pk}\ <- 一个域,来自 {pk]

\domain{domain_pk}\nameservers\ <- 来自的域名服务器

{domain_pk} \domain{domain_pk}\nameservers\ {pk}\ <- 来自 {pk} 的特定名称服务器,来自 {domain_pk} 的域

这是一个例子:

0 投票
1 回答
152 浏览

python - drf 嵌套路由器 - 端点的路由子例程

我有一个旧端点,其 URL 如下:

它映射到我的基于函数的视图。

我现在正在重构作品以使用 drf-nested-router。我所知道的是,我可以路由到自定义方法。就像我有以前的端点一样,我url(r'^vehicles/([^/]{1,50})/trips/?$', 'vehicle_trips_view')只是添加了一个trips这样的方法:

我显然不能只命名方法trips/data。那么有没有办法为第一个例子制定详细的路线!?

0 投票
1 回答
57 浏览

python - 没有数据通过 drf-nested-routers PUT 传输

我尝试通过 PUT 将数据库中的对象更新到我的 django 后端。

我调用的 url 是一个 PUT:

它像这样路由到我的更新方法:

它也正确跳转到 my 的更新方法,Vehicles.views但我无法从中获取任何数据request.DATA。我还确保数据已正确发送。

我的更新功能:

有人知道我在这里可能会出错吗?

0 投票
1 回答
72 浏览

django - 发布新的嵌套对象

我正在尝试实施这个方案:

http://127.0.0.1:8000/api/get_work/

然后能够获取嵌套到源中的所有警报:

** 来源将是唯一的

http://127.0.0.1:8000/api/set_work/dns/alehop.com/

并将单个警报发布到该来源:

我的问题是:是否可以使用参数实现路由的列表/创建视图集?

在这种情况下,如何在视图集中使用该参数来过滤查询集?

先感谢您。任何其他方法都将受到欢迎,我对 python/django 很陌生。

0 投票
1 回答
4740 浏览

python - DRF 序列化程序中多个查找字段的自定义超链接 URL 字段

我正在使用Django Rest Framework为我的项目开发 web api。在我的项目中,我需要像这样构建嵌套 api 的端点:

因此,我使用drf-nested-routers来轻松编写和维护这些嵌套资源。

我希望所有端点的输出都有超链接,用于获取每个嵌套资源的详细信息以及其他详细信息,例如:

为此,我HyperlinkedModelSerializer按照 DRF 文档通过继承来编写我的序列化程序,它会url在序列化过程中自动添加一个字段作为响应。

但是,默认情况下,DRF 序列化程序不支持像上面提到的那样为嵌套资源生成 url,或者我们可以说不仅仅是单个查找字段。为了处理这种情况,他们建议创建自定义超链接字段

我遵循了这个文档,并编写了自定义代码来处理嵌套资源的 url 生成。我的代码片段如下:

模型.py

序列化程序.py

serializers_fields.py

视图.py

网址.py

现在,当我运行一个项目并 ping /users/api 端点后,我得到了这个错误:

AttributeError:“UserMail”对象没有属性“url”

我不明白为什么会出现这个错误,因为在UserMailSerializer我添加了url字段作为这个序列化程序的属性,所以当它必须序列化时,为什么它将url字段作为UserMail模型的属性。请帮助我摆脱这个问题。

PS:请不要建议对模型进行任何重构。因为,在这里,我只是用user&mail东西伪装了我的项目真实想法。因此,将此作为测试用例并建议我一个解决方案。

0 投票
1 回答
359 浏览

django - HyperlinkedRelatedField 在 drf-nested-routers 中不起作用

我正在使用如下的 drf-nested-routers

当我将url字段添加到Calendar序列化程序时,它运行良好,但是当将url字段添加到“事件”序列化程序时,它只会引发以下异常

无法使用视图名称“事件详细信息”解析超链接关系的 URL。您可能未能在 API 中包含相关模型,或者lookup_field该字段的属性配置错误。

0 投票
1 回答
890 浏览

django - Django REST Framework Nested Routers - Pagination not working

I have a simple nested router using drf-nested-routers, similar to the example on the readme page. The list view on the nested route does not paginate at all, ignoring my DEFAULT_PAGINATION_CLASS setting. Is this by design? Do nested routes have to manually implement pagination? If I try to call self.get_paginated_response in my nested viewset's list method, I get this error:

Here's my list method in my nested view:

0 投票
2 回答
442 浏览

python - DRF + 嵌套路由器 - “QuerySet”对象没有属性“用户”

使用 DRF 和 DRF 嵌套路由器

这是我的代码:

但是一旦发布了新成员,就会出现错误“QuerySet”对象没有属性“用户”

有什么帮助吗?

0 投票
1 回答
1159 浏览

django - Django Rest 框架嵌套 URL

模型是

有可能使用 drf-extensions,如何使用它。

如何进行设置以拥有类似的 URL

它应该能够为 GET、POST 和 PUT 提供响应

从以下格式

0 投票
1 回答
659 浏览

django - Django REST drf-nested-routers 不会触发权限检查

我正在使用带有 ModelViewSets 的 drf-nested-routers。一切正常,但是,没有执行对资源/对象的权限检查。

处理单个资源/非嵌套 url 时,会执行权限检查。

有什么我想念的吗?