如何从 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/