问题标签 [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.
django - 如何使用 uuid 而不是 id 进行嵌套路由 drf-extensions django
我有两个 Django 模型 - 我将在这里更改模型的名称,但想法是一样的。
我有意见:
在我的urls.py
文件中:
我已经构建了一个小应用程序,我可以通过管理员上传图片并将附件图片上传到这些图片并通过 aws 保存。我试过让 Django 自动创建一个主键,但由于某种原因不能很好地工作,即使它确实如此 - 我不记得了,但是,uuid
这不是问题,因为你可以看到我正在使用它在我的模型中。
我现在的主要错误是,即使我想要这样的网址:
在检查了我在数据库中的照片的 uuid(uuid 是c6e53d17-72ba-4a5f-b72e-26b8b2d25230
)后,我手动将其输入到地址栏中,它只会获取所有附件(即使是不属于使用uuid
url 中的指定照片的附件)。
根据这里的这个小教程,我有几乎相同的设置,而不是id
我有一个uuid
. 我猜这是问题,但我不确定。我还认为这个视图集是一个问题:
因为我要取回每个附件,而不是附加到特定照片的所有附件。我想我应该使用类似的东西,filter(photo=photo_uuid)
但根据教程,我发现我不必这样做,更不用说我无法访问我的一些参数photo_uuid
,viewset
所以我首先将如何过滤。
重申一下,我的问题是,如果我正在处理 uuid 而不是 id 是我认为这是我的问题(除非它是其他问题),我该如何正确地执行嵌套路由。如果这是我现在必须处理的事情,而AttachmentViewSet
不是我如何正确filter
处理。也许有*args
,**kwargs
但如果是这样的话,我将如何在我的视图集中访问它。
我确实发现我可以做到
当我打印时,我看到了我想要的内容,并且可以通过过滤返回我想要的内容,但这是实际的做法吗?
python - 无法使用来自 drf-extensions 的 mixin
我已经安装了 drf-extensions 并将其导入到我的视图中。之后,我开始低于异常,我无法确定其根本原因。有人可以解释一下,请问这里出了什么问题?
如果我禁用扩展导入,那么我可以正常运行。我正在使用三个模型并编写了序列化程序并尝试使用 drf_extensions 制作嵌套 API。
django - 自动刷新缓存 DRF
我使用 rest_framework_extensions 缓存我的 rest-api,例如:
这很完美!我缓存来自模型的 GET 列表响应。现在我想在更新或保存后自动刷新这些视图。这样下面的请求就已经在缓存中了。我该如何解决这个问题?
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
谢谢你!