Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/django/21.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/regex/19.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Python 如何从django tastypie中的URI获取资源对象?_Python_Django_Tastypie - Fatal编程技术网

Python 如何从django tastypie中的URI获取资源对象?

Python 如何从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方法是什么 无论如何,我可以在我的代码中维护一个反向映射,这会起作用,但肯定

假设我有一些ModelResource类,它们在一个tastypieapi端点上注册(比如API/v1/posts、API/v1/authors)

给定一个URI(比如api/v1/posts),我需要获取PostResource的一个实例,以便执行PostResource.get_list()

问题是-给定url
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