python - 从 tastypie uri 获取模型对象?

标签 python django tastypie

如何从 uri 获取 tastypie 模型资源的模型对象?

例如:

如果在 python 中将 uri 作为字符串提供,您如何获取该字符串的模型对象?

最佳答案

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]

关于python - 从 tastypie uri 获取模型对象?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/16331120/

相关文章:

javascript - JavaScript 的 Django 反向()

javascript - Django错误: Tuple or struct_time argument required

javascript - 浏览器和 Nginx 之间的 HTTP POST 神秘约 1 分钟延迟

python - Tkinter 使用 enter 而不是空格键按下按钮

python - Flask JSON 序列化错误,因为 flask babel

python - 尝试在 Python 中使用 Pandas 复制 SUMIFS

django-tastypie 尝试根据 POST 请求创建相关对象

python - 如何摆脱python中的ascii编码错误

Django 测试客户端响应上下文 无

django - 如何在 django-tastypie 中包含不直接(通过另一个资源)的反向关系?