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

django - DRF ViewSet 返回空值的 QuerySet

我有一个名为“QueryCriteriaViewSet”的 DRF ViewSet,我在查询构建器中使用它,它允许用户选择一个字段,然后从相关条件中进行选择。因此,例如,用户可以选择“reg_status”字段,然后从“Active”和“Inactive”的相关标准中进行选择。

当我从主要的“人”模型中选择一个字段时,这完全正常。但是当我从“lookup_party”模型等相关模型中选择一个字段时,我遇到了问题。奇怪的是,当我将查询集打印到控制台时,它工作得很好,但是当我调用 API 时,它返回一个空对象列表。

再举一个例子,以下是我拨打电话时发生的情况:

api/querycriteria/?fields=reg_status返回:

api/querycriteria/?fields=party__party_name返回:

即使我print(queryset)在返回查询集之前,也会打印以下内容:

这是完整的视图集:

让我知道是否有任何其他信息会有所帮助。

这是我的序列化程序:

这是 DynamicFieldsModelSerializer:

0 投票
2 回答
4806 浏览

python - Django-filters does not work with the Viewset

I have been trying to use django-filters but the objects are not getting filtered. Also, the permission is not working for the partial_update views

I have a Viewset which has the basic actions like - list(), retrieve(), destroy(), partial_update() and few other actions, and trying to apply filter for the same.

After some research I found that since I am creating the queryset via filters I will have to override the get_queryset() method. However, that also doesn't seem to be working. Does the filter works only with ModelViewSet or ListApiView?

ViewSet -

Permission -

PostFilter -

Manager -

Any help will be highly appreciated.

0 投票
1 回答
1580 浏览

django - Django Rest Framework can't register route

I have the following code:

And the following ViewSet:

When I'm trying to access http://localhost:8000/api/mymodel/ it gives me Not Found error. I printed out router.urls, the output is:

Why my viewset doesn't get registered?

0 投票
0 回答
43 浏览

django-rest-framework - 处理具有多个外键的序列化程序的视图集

我有这个序列化程序:

我想提一下,user并且movie都是在模型ForeignKey中定义的models.pyReview这是模型:

我想创建一个视图集,但如果我这样做:

并像这样注册它:

行不通,它需要我提供movie field此处记录的内容:

提前致谢。

已编辑。

0 投票
1 回答
972 浏览

django - 如何使 Django Rest API 嵌套注释?

我想为一个 android 应用程序创建一个嵌套评论模型,并且我正在使用 Django Rest 框架。我定义了两个模型PostComment如下所示:

我遇到的问题是,如果我想获取应用程序的评论列表,那么,我应该如何处理呢?我脑子里有以下几点:

  1. 我无法返回完整的评论列表,因为这将是一个很长的列表
  2. 那么,我如何选择限制返回前 5 条评论及其前 5 条子评论。
0 投票
1 回答
259 浏览

django - 如何仅在视图集中的 django REST 中的 PUT 请求上设置身份验证和权限?

我有一个viewset子类modelviewset,我添加下一个:

然后,在列出、详细信息/检索和提出请求时收到以下消息。

"detail": "未提供身份验证凭据。"

当我更新数据时,我应该改变什么来只给出这个消息?

0 投票
0 回答
97 浏览

django-rest-framework - django rest 框架 - 获取选择的 url

拥有模型、序列化程序、视图和 url:

是否可以在专辑的 List- 和 DetailView 的 OPTIONS(元数据)视图中包含音乐家的 ListView(可能的选择)的 URL?

重新调整类似:

目前我只能使用 field.choices.items() 返回一个带有选项的字典

0 投票
2 回答
107 浏览

django - 使用 Django 创建或更新实例时发送电子邮件

简介:我有 2 个 Django Rest Framework 模型Patient,并且Embryo只有 1 个用户是超级用户。所有患者都属于超级用户。一个病人可以有很多个胚胎,但每个胚胎只能有一个病人。

我想要做什么:我正在尝试在创建或更新患者模型或胚胎模型时向患者发送电子邮件。下面是我的代码我做错了什么

下面是我的views.py

我的模型在下面以防万一

0 投票
2 回答
64 浏览

python - 什么决定了可以在 DjangoRestFramework 中更新哪些字段

我目前有一个带有以下字段的序列化程序

串行器

看法

模型 资产模型。某些字段已被省略

但是,在可浏览的 Api 上,UPDATE/PUT表单上只显示了 4 个字段,如下图所示 在此处输入图像描述

其他一些字段没有出现在这里的原因可能是什么。什么决定了哪些字段是可更新的?

0 投票
1 回答
326 浏览

python - 具有基于 Django Rest Framework 类的视图的 RestFul API 端点

我在 DRF 中有以下 4 个基于类的视图来对名为 Trips 的模型执行 CRUD 操作。

现在为了将 url 连接到每个视图,我的 urls.py 看起来像这样:

这按预期工作。但是,很明显,这些 API 端点设计得很糟糕,因为 URI 中也有 http 方法。RESTFUL API 端点在 URI 中没有 HTTP 方法,如下所示:

我知道 Viewsets 可以帮助实现这一点,但由于某些其他限制,我无法使用它们。这可以通过使用我正在使用的基于类的视图来实现吗?