gpt4 book ai didi

django-rest-framework - Django REST 框架,从 URL 获取对象

转载 作者:行者123 更新时间:2023-12-04 08:37:53 24 4
gpt4 key购买 nike

我想知道是否有一种干净的方法可以使用 django rest 框架从其 URL 中检索对象。当然应该有,因为这似乎是使用 HyperlinkedRelatedField 时发生的事情.

例如,我有这个 URL /api/comment/26作为字符串。在我看来,如何使用 pk=26 获取评论实例?

我当然可以重做工作并处理字符串,但这一定是更好的方法吗?

非常感谢。

编辑:

最后我是这样解决的:
resolve('/api/comment/26/').func.cls.model将返回我的模型评论。resolve('/api/category/1/').kwargs['pk']将返回 pk。

这给了你:

from django.core.urlresolvers import resolve

resolved_func, unused_args, resolved_kwargs = resolve('/api/category/1/')
resolved_func.cls.model.objects.get(pk=resolved_kwargs['pk'])

最佳答案

我怀疑你最好的办法是手动将模型映射到 url 模式——与 URLConf 不太相似。 .

如果这不会影响您的船,您可以 pass the path into resolve .

这会给你一个 ResolverMatch您会在上面找到 funcas_view 返回的设置 URL 时调用。
__name__ View 函数的属性将是原始 View 类的属性。做类似 globals()[class_name] 的事情获取类(class)本身。

从那里访问 model属性。

我希望这有帮助。正如我所说,您可能只想自己将模型映射到 URL。

关于django-rest-framework - Django REST 框架,从 URL 获取对象,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/21406625/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com