问题标签 [drf-extensions]

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

django - 如何使用 uuid 而不是 id 进行嵌套路由 drf-extensions django

我有两个 Django 模型 - 我将在这里更改模型的名称,但想法是一样的。

我有意见:

在我的urls.py文件中:

我已经构建了一个小应用程序,我可以通过管理员上传图片并将附件图片上传到这些图片并通过 aws 保存。我试过让 Django 自动创建一个主键,但由于某种原因不能很好地工作,即使它确实如此 - 我不记得了,但是,uuid这不是问题,因为你可以看到我正在使用它在我的模型中。

我现在的主要错误是,即使我想要这样的网址:

在检查了我在数据库中的照片的 uuid(uuid 是c6e53d17-72ba-4a5f-b72e-26b8b2d25230)后,我手动将其输入到地址栏中,它只会获取所有附件(即使是不属于使用uuidurl 中的指定照片的附件)。

根据这里的这个小教程,我有几乎相同的设置,而不是id我有一个uuid. 我猜这是问题,但我不确定。我还认为这个视图集是一个问题:

因为我要取回每个附件,而不是附加到特定照片的所有附件。我想我应该使用类似的东西,filter(photo=photo_uuid)但根据教程,我发现我不必这样做,更不用说我无法访问我的一些参数photo_uuidviewset所以我首先将如何过滤。

重申一下,我的问题是,如果我正在处理 uuid 而不是 id 是我认为这是我的问题(除非它是其他问题),我该如何正确地执行嵌套路由。如果这是我现在必须处理的事情,而AttachmentViewSet不是我如何正确filter处理。也许有*args**kwargs但如果是这样的话,我将如何在我的视图集中访问它。

我确实发现我可以做到

当我打印时,我看到了我想要的内容,并且可以通过过滤返回我想要的内容,但这是实际的做法吗?

0 投票
1 回答
73 浏览

python - 无法使用来自 drf-extensions 的 mixin

我已经安装了 drf-extensions 并将其导入到我的视图中。之后,我开始低于异常,我无法确定其根本原因。有人可以解释一下,请问这里出了什么问题?

如果我禁用扩展导入,那么我可以正常运行。我正在使用三个模型并编写了序列化程序并尝试使用 drf_extensions 制作嵌套 API。

0 投票
0 回答
108 浏览

django - 自动刷新缓存 DRF

我使用 rest_framework_extensions 缓存我的 rest-api,例如:

这很完美!我缓存来自模型的 GET 列表响应。现在我想在更新或保存后自动刷新这些视图。这样下面的请求就已经在缓存中了。我该如何解决这个问题?

0 投票
1 回答
88 浏览

python - 无法使用视图名称“rest:campaign-detail”解析超链接关系的 URL

Django 世界的新手。我正在努力为嵌套路由创建超链接。

我得到的错误是:

一些项目设置说明

  • 使用 django rest 框架

  • 用于DRF-extensions创建路线

  • 使用模型视图集

  • 预期终点:

    • /帐户/

    • /accounts/<pk>/

    • /accounts/<pk>/campaigns/

    • /accounts/<pk>/campaigns/<pk>/

    • /accounts/<pk>/campaigns/adgroup/

    • /accounts/<pk>/campaigns/adgroup/<pk>/

  • rest在 urls.py 中设置命名空间

  • 用于HyperlinkedIdentityField创建超链接。它仅适用于父对象,即

    • url = serializers.HyperlinkedIdentityField(view_name='rest:account-detail')

然而,任何嵌套对象都会失败,即

  • url = serializers.HyperlinkedIdentityField(view_name='rest:campaign-detail')

该模型非常简单,一个Account可以有多个Campaigns,一个 Campaign 可以有多个AdGroups。请参见下面的代码:

模型.py

视图.py

序列化程序.py

我有 2 个 URL 文件。该项目名为Vanilla , DRF 逻辑所在的应用程序名为rest 。

香草 urls.py

休息网址.py

谢谢你!