Vin*_*lvo 5 django-rest-framework
我想知道是否存在使用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'])
Run Code Online (Sandbox Code Playgroud)
我怀疑你最好的选择是手动保存模型到 url 模式\xc2\xa0\xe2\x80\x94 的映射,与URLConf.
如果这不会影响你的船,你可以通过路径进入resolve.
这将为您提供一个ResolverMatch,您可以在其中找到设置 URL 时func调用返回的信息。as_view
视图函数的属性__name__将是原始视图类的属性。做一些类似globals()[class_name]获取课程本身的事情。
从那里访问该model属性。
我希望这有帮助。正如我所说,您可能只想自己将模型映射到 URL。
\n| 归档时间: |
|
| 查看次数: |
3499 次 |
| 最近记录: |