问题标签 [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 回答
899 浏览

django - 如何根据前端发送的数据在genericviewsets中选择不同的序列化器类

你是我针对不同用户的序列化程序

这不起作用,但我想根据前端请求使用不同的序列化程序

我如何在此处切换基于序列化程序类 def get_serializer_class(self,): if self.request.query_params.get("player", None): return MyBrokerUserSerialzers

0 投票
1 回答
2890 浏览

python - 实例化时 Django REST 框架序列化程序错误

我对 DRF 和一些序列化程序有一个奇怪的问题。

这是我的模型:

如您所见,基本上,产品可以是住宿。这是序列化程序

执行一个简单的测试,我尝试创建一个住宿,我收到以下错误:

试图删除

产品=产品

但后来我得到了同样的错误,但使用“shared_accommodation”字段而不是产品

我在这里做错了什么?有任何想法吗?

编辑:添加 ProductSerializer,我错过了一个抱歉

第二次编辑:正如一些人所建议的,我已将产品字段添加到了住宿序列化器中:

但是在尝试创建实例时,我收到以下错误:

有趣的是,如果我将产品添加到测试数据有效负载中(即使我在调用端点进行住宿时尚未创建产品,上面的错误也会消失):

虽然这很有趣,但这显然不是我想要的……我不想在调用端点创建住宿时传递虚假的产品 ID……任何指针?

0 投票
1 回答
1451 浏览

python - django DRF:如何在序列化程序中获取相关模型字段

我正在尝试从 Django Rest Framework 返回一个 HttpResponse,包括来自 3 个链接模型的数据。模型是

以下是views.py:

我尝试了以下序列化方法,请参阅 foeign 键关系船 serializers.py:

0 投票
1 回答
333 浏览

python - Django drf-nested-routers - 模型对象没有属性相关字段

我正在使用Django Rest Framework的drf-nested-routers应用程序创建一个 API 。此应用程序是一个跟踪器,用户可以在其中进行会话和任务。每个用户可以拥有三个活动任务,并且可以在给定会话中处理这些任务中的每一个。

我的(缩写)模型是:

我为这些模型创建了以下(缩写)序列化程序:

我还设置了 views.py 和 urls.py 以正确执行路由。

我可以很好地导航到会话和任务 API 视图。但是,每当我尝试导航到用户视图时,它都会引发以下错误:

不过,真正有趣的是,如果我删除“任务”并仅包含会话,它会很好地序列化所有内容,并为我提供用户各种会话的嵌套视图。

我在这里不知所措,不胜感激。

0 投票
2 回答
163 浏览

django - 嵌套路由器与过滤器

我从头开始对 API 实现非常陌生,我需要一些关于我的 API 结构中的标准或最佳方法是什么的建议。

目前我的实现包括嵌套路由器(drf-nested-routers 包),例如

“www.thissite.com/store/21/products/1/”

现在,当我深入研究 django 时,我发现有一些过滤器可以让我用更少的代码完成上面完全相同的操作

“www.thissite.com/products/?store__id=21&id=1”

我的问题是哪一个是最佳实践,为什么?

0 投票
1 回答
569 浏览

django - 嵌套路由器不工作

我是 Django 新手,正在努力让嵌套路由器工作。基本上,我正在尝试对端点进行建模/api/v1/organizers/1/events/1,我拥有EventOrganizer模型如下:

我创建了另一个应用程序rest_api来处理 API。模型存储在一个名为shared_stuff. 无论如何,这是项目级别的urls.py(暂时不要介意front_end应用程序):

这是urls.py来自应用程序的内容rest_api

这是serializers.py应用rest_api程序:

最后,这是views.py来自应用程序的内容rest_api

我确信我的代码中有很多问题,这就是我需要帮助的地方。问题是我收到以下错误:

TypeError: list() got an unexpected keyword argument 'organizers_pk'

我不确定出了什么问题,希望能得到一些帮助!

0 投票
1 回答
1430 浏览

django - Django Rest Framework 嵌套路由 - PK 替代方案

我正在使用 drf-nested-routers 来嵌套我的资源,并且一切运行良好。但是,我想使用 pk 以外的东西来引用父对象。

我目前拥有的是:

api/movies/4/scenes - 从 pk=4 的电影中生成场景列表。

我想要的是:

api/movies/ghost-busters/scenes - 标识符是movie.title而不是movie.pk

有什么建议么?

谢谢

0 投票
0 回答
427 浏览

django - DRF 嵌套路由器:URL 配置不正确

我正在尝试使用 DRF 的快速入门指南构建一个应用程序。该应用程序具有以下设置

当我按照快速入门进行操作时,出现以下错误

参观时

我真的不明白我收到的错误消息,因为我有随时可用的视图名称“课程详细信息”。有人可以帮我清除我做错了什么吗?

这是我在示例应用程序中的代码。

视图.py

序列化程序.py

模型.py

网址.py

如果我未能包含解决错误所需的任何信息,请告诉我。我很乐意提供任何其他信息。

提前致谢。

0 投票
1 回答
1091 浏览

django - 使用带有嵌套 HyperlinkedIdentityFields 的 drf-nested-routers

我正在尝试使用drf-nested-routes包在序列化程序中生成嵌套的 HATEOAS 链接。我当前的设置如下:

我无法创建HyperlinkedIdentityField指向最后一条路线的路线。根据文档,可以像这样创建超链接字段:

或者

但是,当尝试访问 URL 层次结构中 2 层深处的资源时,这些方法会失败。第一种方法不兼容,因为它不允许添加第二个,而对于第二种方法,在使用(在我看来)适当的属性(, )进行配置时lookup_url_kwarg会引发异常()。ImproperlyConfiguredresource_a__pkresource_b__pk

这个包有可能吗?否则,我将使用一个更简单的解决方案SerializerMethodField

提前致谢!

0 投票
1 回答
126 浏览

django - 使用 drf-nested-routers 找不到页面错误

我在用着

我的联系人/views.py

app/urls.py

使用此设置,我可以访问

但是在尝试访问

它给出了Page Not Found错误。

我也尝试过,<phone_number_pk>但仍然Page not Found收到错误。