问题标签 [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.
django - 如何在 django rest 框架中发布多个字符串的请求?
我正在编写一个视图集,它接收来自用户的字符串值数组并根据发布请求验证表。我不知道如何从用户那里获取 request.POST 中的数组并使用 Postman 中的其余 API。比如:
另外,如何在邮递员中检查这个?
django-rest-framework - 覆盖.get_queryset()时如何正确返回错误?
我在 DRF 文档上读到,您可以通过覆盖 .get_queryset() 来过滤查询参数。我正在寻找最佳实践,返回什么,以防过滤器不正确以及在哪里返回错误消息。
我提到的文档是here 我包括下面的源代码
感谢您的帮助
python - Django rest框架中ViewSet和GenericViewSet的区别
我有一个 Django 休息框架GenericViewset,我正在尝试为其设置分页,如下所示:
这可以按预期工作。但是,如果我尝试仅对普通Viewset执行相同操作,如下所示:
我收到一条错误消息:
'PolicyViewSet' 对象没有属性 'paginate_queryset'
如何使用普通Viewset设置分页。DRF 中的 GenericViewset 和 Viewset 有什么区别?
django - 如何获取django ListAPIView中文件的相对路径?
想要从 API 返回的图像的相对路径:
想要为 API 返回“ /media/image.jpg
”格式,而不是“ ”http://0.0.0.1:8000/media.image.jpg
对于以下内容,获取完整的 URL 即“ http://0.0.0.1:8000/media.image.jpg
”格式
对于以下内容,获得正确的输出即:media/image.jpg
格式,这是必需的。
如何返回 ListAPIView 的相对路径 URL?
尝试将以下内容放入序列化程序中,但无法将图像上传到 API。
PS:
模型.py:
序列化程序.py:
django - DRF:将附加信息注入 request.data 的通用方法
我的情况是,我有一个端点samples
,它sample
通过ModelViewSet
.
我的目标是,当用户 POST 向这个端点发送数据时
喜欢
我希望能够覆盖/添加键:值对到存储在方法中的这个传入有效request.data
负载create
。
这不能通过简单的访问来完成,request.data
因为它QueryDict
是不可变的。
此外,我无法在该perform_create()
方法中实现这一点,因为我可能注入的数据对验证至关重要。
目前我坚持使用以下解决方案,这需要我重写完整的create()
方法:
request.data
在调用任何操作方法(如create()
or )之前是否有一种通用的方法来编辑put()
?如果不是 1.); 有不同的可能性吗?
提前致谢。
python - DRF:视图集lookup_field 配置不当
我正在将我的 DRF 从泛型迁移到视图集,但收到此错误:
这是我的 urls.py
这是我的观点
最后是我的序列化程序
django - Django DRF 将 request.user 添加到模型序列化器
我正在使用 django rest 框架,并且我有一个通过模型视图集和模型序列化器创建的对象。此视图只能由经过身份验证的用户访问,并且对象应将其“uploaded_by”字段设置为该用户。
我已经阅读了文档,并得出结论认为这应该有效
视图集:
序列化器:
但是,这会导致以下错误:
这表明序列化程序没有填充“uploaded_by”。
根据我对文档的理解,这应该已将该字段添加到来自序列化程序的已验证数据中,作为 create 方法的一部分。
显然我误解了什么!
django - DRF Viewset - 如果对象已经存在,则不创建但返回
是否可以覆盖 Viewset 的创建以首先检查对象是否存在,如果存在,则返回该对象而不是创建它?
具体来说,在我的视图集中,我已经覆盖了 create 函数,如下所示:
有什么想法可以将物品退回吗?目前这只是吐回输入。即使我序列化并返回该项目,这似乎也不起作用,如下所示:
django - 有没有办法在 Django Rest Framework 中聚合一个字段,该字段将汇总一个字段
目前我已经弄清楚如何在我的 serializers.py 中聚合单个列,但是我的薪水字段的总和将转到我的序列化程序中的total_salary字段,而我的模型中没有total_salary 。现在我的问题是我怎样才能在下面的 API 中做这样的事情:
现有的是这样的。
目前我做的一个解决方法是我现在在 ListView 中得到工资的总和,每次用户都会搜索一个特定的月份。计算将根据用户搜索的月份而变化。代码如下。
这是来自我的 serializers.py
这是来自我的模型视图集的get_queryset
在我计划的用例中,我希望在我的 API 中有一个包含所有工资总和的列,这样我就可以在前端单独调用该字段,而无需刷新页面来重新计算总工资。或者这是正确的方法吗?或者我应该坚持使用视图来重新计算总工资。
redis - 如何使用 Django Rest Framework 实现 Redis 缓存?
我需要用我的 Django Rest Framework 站点实现 Redis 缓存。但是,当我使用带有类的 cache_page 装饰器进行负载测试时,它会提高每秒的请求,但会发生错误“'function' object has no attribute 'get_extra_actions'”
视图.py
在我的 Settings.py 中,我还添加了以下代码。
我也相应地添加了以下中间件
那也行不通。