Python 如何从django tastypie中的URI获取资源对象?
假设我有一些ModelResource类,它们在一个tastypieapi端点上注册(比如API/v1/posts、API/v1/authors) 给定一个URI(比如api/v1/posts),我需要获取PostResource的一个实例,以便执行PostResource.get_list() 问题是-给定urlPython 如何从django tastypie中的URI获取资源对象?,python,django,tastypie,Python,Django,Tastypie,假设我有一些ModelResource类,它们在一个tastypieapi端点上注册(比如API/v1/posts、API/v1/authors) 给定一个URI(比如api/v1/posts),我需要获取PostResource的一个实例,以便执行PostResource.get_list() 问题是-给定urlapi/v1/posts,获取PostResource实例的pythonic/django/tastypie方法是什么 无论如何,我可以在我的代码中维护一个反向映射,这会起作用,但肯定
api/v1/posts
,获取PostResource实例的pythonic/django/tastypie方法是什么
无论如何,我可以在我的代码中维护一个反向映射,这会起作用,但肯定会有更好的解决方案。查看
通过uri获取
函数
您可能需要此部分:
from django.core.urlresolvers import resolve, get_script_prefix, Resolver404
from tastypie.exceptions import NotFound
prefix = get_script_prefix()
chomped_uri = uri
if prefix and chomped_uri.startswith(prefix):
chomped_uri = chomped_uri[len(prefix)-1:]
try:
resource, args, kwargs = resolve(chomped_uri)
except Resolver404:
raise NotFound("The URL provided '%s' was not a link to a valid resource." % uri)
其中
uri
是您的uri
resource
是您的资源实例。查看get\u via\u uri
函数
您可能需要此部分:
from django.core.urlresolvers import resolve, get_script_prefix, Resolver404
from tastypie.exceptions import NotFound
prefix = get_script_prefix()
chomped_uri = uri
if prefix and chomped_uri.startswith(prefix):
chomped_uri = chomped_uri[len(prefix)-1:]
try:
resource, args, kwargs = resolve(chomped_uri)
except Resolver404:
raise NotFound("The URL provided '%s' was not a link to a valid resource." % uri)
其中
uri
是您的uri
resource
是您的资源实例。您不需要覆盖get\u list
。您在资源上设置了ForeignkeyField
了吗?您不需要覆盖get\u list
。您是否在资源上设置了ForeignkeyField
?