如何在django-tastypie中水合resource_uri? [英] How to hydrate a resource_uri in django-tastypie?

查看:130
本文介绍了如何在django-tastypie中水合resource_uri?的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

我只是有一个资源uri,像'/ api / v1 / myobjectresource / 23 /',我需要水合它。
这意味着,我想从它的 resource_uri 中实例化MyObject(pk = 23)。我应该怎么做?

解决方案

https://gist.github.com/794424


def get_resource_uri(self,bundle_or_obj) :

  kwargs = {
'resource_name':self._meta.resource_name,
}
如果isinstance(bundle_or_obj,Bundle):
kwargs ['pk'] = bundle_or_obj.obj.id#pk在ModelResource
else中引用
kwargs ['pk'] = bundle_or_obj。 id
如果self._meta.api_name不是None:
kwargs ['api_name'] = self._meta.api_name
return self._build_reverse_url('api_dispatch_detail',kwargs = kwargs)



I just have a Resource uri, like '/api/v1/myobjectresource/23/', and I need to hydrate it. It means, I want to instantiate MyObject(pk=23) from its resource_uri. How should I do this?

解决方案

Extracted from https://gist.github.com/794424

def get_resource_uri(self, bundle_or_obj):

kwargs = {
    'resource_name': self._meta.resource_name,
}
if isinstance(bundle_or_obj, Bundle):
    kwargs['pk'] = bundle_or_obj.obj.id # pk is referenced in ModelResource
else:
    kwargs['pk'] = bundle_or_obj.id
if self._meta.api_name is not None:
    kwargs['api_name'] = self._meta.api_name
return self._build_reverse_url('api_dispatch_detail', kwargs = kwargs)

这篇关于如何在django-tastypie中水合resource_uri?的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆