5
A
回答
1
您是否在寻找flowchart?这真的取决于,当你想要对象。
在脱水周期内,您可以通过简单的捆绑来访问它。
class MyResource(Resource):
# fields etc.
def dehydrate(self, bundle):
# Include the request IP in the bundle if the object has an attribute value
if bundle.obj.user:
bundle.data['request_ip'] = bundle.request.META.get('REMOTE_ADDR')
return bundle
如果要手动检索由API URL的对象,因为通过默认的ORM方案,您可以简单地穿越塞或主键(或者不管它是什么)的模式?
2
Tastypie的Resource类(这是ModelResource的子类)提供了一个方法get_via_uri(uri, request)
。请注意,他拨打apply_authorization_limits(request, object_list)
,如果您没有收到预期的结果,请确保以通过您的授权的方式编辑您的请求。
一个不好的选择是使用正则表达式从你的url中提取id,然后用它来过滤所有对象的列表。这是我肮脏的黑客直到我get_via_uri工作,我不建议使用这个。 ;)
id_regex = re.compile("/(\d+)/$")
object_id = id_regex.findall(your_url)[0]
your_object = filter(lambda x: x.id == int(object_id),YourResource().get_object_list(request))[0]
2
您可以使用get_via_uri
,但作为@Zakum提到,它将应用您可能不想要的授权。所以挖掘到源为这个方法我们可以看到,我们可以解析URI是这样的:
from django.core.urlresolvers import resolve, get_script_prefix
def get_pk_from_uri(uri):
prefix = get_script_prefix()
chomped_uri = uri
if prefix and chomped_uri.startswith(prefix):
chomped_uri = chomped_uri[len(prefix)-1:]
try:
view, args, kwargs = resolve(chomped_uri)
except Resolver404:
raise NotFound("The URL provided '%s' was not a link to a valid resource." % uri)
return kwargs['pk']
如果您的Django应用程序位于Web服务器的根目录(即get_script_prefix() == '/'
),则可以简化这个到:
view, args, kwargs = resolve(uri)
pk = kwargs['pk']
相关问题
- 1. 从对象获取URI
- 2. 从RazorView对象获取模型类型
- 3. Zend从uri获取模型ID
- 4. 如何从位图获取Uri对象
- 5. 如何从模型中获取对象?
- 6. backbone.js从JS对象获取模型
- 7. 从绝对Uri获取流
- 8. 从H2O模型对象获取模型详细信息
- 9. 从Android资产目录中获取File对象或URI对象
- 10. 从基于ForeignKey对象的模型获取对象
- 11. 从tastypie中的URI获取完整实例
- 12. 从泛型类型获取类对象
- 13. Tastypie get_or_create对象
- 14. 从Tastypie获取所有URL
- 15. Symfony获取表单模型对象
- 16. 获取模型对象,而不是雄辩建设者对象
- 17. 从holder.imageView获取URI?
- 18. 从MainViewModel获取Uri
- 19. 从对象获取变量类型
- 20. 从C#中的对象获取类型
- 21. 从对象中获取特定类型
- 22. 如何从HitTest获取对象类型?
- 23. 获取文件扩展名或从Uri对象C#“HasExtension”型布尔
- 24. 是否可以从模型中获取当前URI?
- 25. 删除对象tastypie
- 26. django tastypie改变模型提取
- 27. 为“singleton”非模型对象创建tastypie资源
- 28. AttributeError的:“名单”对象有没有属性“模型” TastyPie
- 29. TYPO3 extbase:获取父对象模型对象
- 30. 如何从Django中的请求对象获取URI?