问题标签 [django-rest-viewsets]

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 回答
6313 浏览

django - 缺少 1 个必需的位置参数:'request' django restframework

我正在使用路由器创建 url 现在我想为我的 api 创建 url,但问题是,我收到错误

createuser() 缺少 1 个必需的位置参数:'request'缺少 1 个必需的位置参数:'request'

我在 UserAuthAPIView 类中的所有方法都遇到了相同的错误,我已经阅读了有关 stackoverflow 的解决方案,但在我的情况下它们不起作用。

我在 UserAuthAPIView 类中有很多方法,我想为所有这些方法创建 url。

例如

网址.py

视图.py

0 投票
1 回答
1203 浏览

django - Django Rest Framework验证方法不起作用

这是我在 Rest Framework 中执行的第一项任务。我参考了一个视频教程来执行此操作,这很奇怪,即使我完全复制了视频中的代码,我在序列化程序中的验证方法也不起作用。下面是我的视图功能:

和我的序列化器:

类 UserLoginSerializer(ModelSerializer):

作为 validate 方法的第一行没有被执行,我如何得到响应(200_OK)?请在这件事上给予我帮助..

0 投票
2 回答
474 浏览

django - 比较不同模型的实例 - Django REST Framework

我只是在寻找我(似乎很愚蠢)问题的答案。我已经看过一些 stackoverflow 帖子,但其中任何一个都有帮助:(

我的问题是如何比较不同模型的两个实例?

这是我的情况:

我有两个模型:产品和连接器。首先包括 id(pk)、name 等。另一个包括 id(pk)、productId(fk)、userId(fk) 等。

我的目标是准备仅列出连接器数据库表中的产品作为产品(fk)的视图。

问题是 Django 将“product.id”和“connector.productId”视为完全不同的类型。第一个是“core.models.ProductModel”,第二个是“core.models.ConnectorModel”。我试图使用 int() 解析它,但它会产生错误。

如何比较这两个值以将对象添加到 productListToDisplay 数组?

(我看到了django doc - 比较对象,但对于这种情况没有有用的信息)

0 投票
2 回答
300 浏览

django - 注册你的 Django 路由器

route.register没有base_name喜欢的情况下使用的时候;

route.register(r'codes', SmsCodeViewset)

发生错误;

AssertionError: basename argument not specified, and could not automatically determine the name from the viewset, as it does not have a .queryset attribute.

我用route.register(r'codes', SmsCodeViewset, bose_name="")的时候没有报错,请问为什么?

0 投票
1 回答
1304 浏览

django - Django Rest Framework模型视图集 - 在创建之前更新字段

我有一个模型视图集:

和一个序列化器:

这些是 POST 到视图集的字段,但它们不足以完全填充对象,因此我需要添加更多字段。

我尝试过覆盖序列化程序,如下所示:

然而,这永远不会被调用(通过在 create 函数中粘贴 print 语句进行测试 - 它永远不会运行)。显然这是因为这个问题:Django Rest Framework 序列化程序 create() 没有被触发这解释了这个问题,但不是如何解决我的问题。

我不确定是否需要重写序列化程序的 is_valid 函数、序列化程序的 create 函数或视图集的 create 函数,或者其他什么。

0 投票
1 回答
1012 浏览

django - 使用 Django RF API 创建具有多对多字段的对象的最佳方法

我开始了一个项目,其想法超出了我的理解范围,但是嘿……我们中的一些人以愚蠢的方式学习对吗?

目前有 2 个模型:User使用AbstractUser类的模型,然后我有一个Role模型,它提供了许多可能随时间变化的角色,所以我需要它是动态的。

这就是我的api/models.py样子:

我遇到了几个问题,但目前当我使用邮递员或 DRF API 视图时,我无法创建有角色或没有角色的用户。

尝试角色:

尝试无角色:

现在,我知道我必须先创建用户然后分配角色,但是,我似乎无法通过 API 找到方法。

这是我的UserSerializer课:

我已经看到了创建form.py文件和添加保存方法的建议,但我不确定它是否适用,因为这将严格地作为我的后端的 API,并将为我的前端实现 AngularJS。

此外,每当我尝试在序列化程序下保存或更新用户时,User.roles.id都会返回一个用户没有名为角色的属性...

所以我希望有人可以提供帮助。谢谢。

0 投票
2 回答
881 浏览

django - 基于外键用户字段的Django Rest Framework ViewSet过滤问题

我有一个正在处理的 django 项目。这个项目有两个模型。有一个useraccount模型。我正在集成 django rest 框架视图集。我将在下面包括它们。我现在正在项目中集成 Django Rest Framework。我试图弄清楚如何做两件事。

2个型号:

默认django用户

账户模式:

1 => 我希望能够输入端点/api/users/accounts/omarjandlai并使用 omarjandali 用户外键获取单个或多个帐户

2 => 我希望能够输入以下内容 api/users/accounts/并返回数据库中的所有帐户

我尝试了 4 - 5 种不同的方法来让它工作,但我无法让它工作。

这是我的序列化程序和视图

序列化器:

意见:

发生的事情是当我做

api/users/account我看到所有的帐户

api/users/account/omarjandali我明白了detail not found

网址:

0 投票
1 回答
1176 浏览

django - 如何在 Django 休息框架路由器中修复此 NoReverseMatch 异常?

我正在研究这个 Django 项目以进行学习,但我无法使用 reverse() 解析 URL。

我试图从在线文档中理解这个概念,但我无法成功。

ModelViewSet在views.py中使用

在我的tests.py

这是我的 urls.py 帖子(即应用程序)

这是我在根目录下的 urls.py

这是我得到的错误

也有人可以建议一个很好的地方来正确理解 reverse() 和路由器如何一起工作..

0 投票
1 回答
1884 浏览

django-rest-framework - 如何在 perform_create 视图集中添加用户(django rest 框架)?

我想做一个“评论”表。在表上,将有一个包含创建评论的 user_id 的字段。与评论表相关的用户来自 Django 默认用户模型。这是评论模型:


这是评论序列化程序:


这是创建新评论的视图集:


我还将用户与 django rest jwt 集成以进行授权。这是我发送到 API 的标头和数据。

标题:

授权:不记名{jwt token}

内容类型:应用程序/json

身体:

{ "content": "这是评论" }


但我得到了这个回应:

{ "user": [ "此字段为必填项。" ] }


如何修复序列化程序,以便从令牌(request.user)中检索用户?

0 投票
1 回答
986 浏览

django - 路由器和视图集如何配置它们的 url?

我正在阅读一段很长的代码。并且被困在路由器和视图集如何自动配置它们的 URL 上。例如。views.py 文件是:

与路由器对应的url是:

在上述情况下,视图集中不同操作的相应 url 是什么,即列表、创建、检索、更新、部分更新和销毁,如视图集的 djangorestframework 文档中所述:http ://www.tomchristie.com/rest -framework-2-docs/api-guide/viewsets