gpt4 book ai didi

django - Tastypie:我想得到像 "/places/{PLACE_ID}/comments"这样的项目,但是怎么做?

转载 作者:行者123 更新时间:2023-12-04 22:33:56 25 4
gpt4 key购买 nike

假设我想获得关于某个地方的评论。我想提出这个要求:

/places/{PLACE_ID}/评论

我怎么能用 TastyPie 做到这一点?

最佳答案

按照 Tastypie's docs 中的示例进行操作并将这样的内容添加到您的 places资源:

class PlacesResource(ModelResource):

# ...

def prepend_urls(self):
return [
url(r"^(?P<resource_name>%s)/(?P<pk>\w[\w/-]*)/comments%s$" % (self._meta.resource_name, trailing_slash()), self.wrap_view('get_comments'), name="api_get_comments"),
]

def get_comments(self, request, **kwargs):
try:
obj = self.cached_obj_get(request=request, **self.remove_api_resource_names(kwargs))
except ObjectDoesNotExist:
return HttpGone()
except MultipleObjectsReturned:
return HttpMultipleChoices("More than one resource is found at this URI.")

# get comments from the instance of Place
comments = obj.comments # the name of the field in "Place" model

# prepare the HttpResponse based on comments
return self.create_response(request, comments)
# ...

这个想法是您定义 /places/{PLACE_ID}/comments 之间的 url 映射。您的资源的 URL 和方法(在此示例中为 get_comments())。该方法应返回 HttpResponse 的实例但是您可以使用 Tastypie 提供的方法来完成所有处理(由 create_response() 包装)。我建议你看看 tastypie.resources模块并查看 Tastypie 如何处理请求,特别是列表。

关于django - Tastypie:我想得到像 "/places/{PLACE_ID}/comments"这样的项目,但是怎么做?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/12877437/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com