在TastyPie中POST请求后的自定义查询集

时间:2014-11-20 23:39:56

标签: django http-post tastypie

我需要tastypie来返回具有不同过滤器的查询集,具体取决于通过POST发送的数据。我发现如果我覆盖get_object_list我得到了我需要的行为,但这只适用于GET请求。我想知道是否有办法在执行POST请求时实现类似的功能。

谢谢:)

1 个答案:

答案 0 :(得分:3)

您应该仅使用GET来获取数据HTTP约定。

所有方法都是出于某种目的,以保持简单和具体。它总是有助于调试日志。

如果您仍想使用POST获取一些数据。您可以使用以下示例。

class ModelResource(Resource):
    class Meta:
        resource_name = 'api'
        detail_allowed_methods = ['post']
        authorization = Authorization()
        authentication = OAuth20Authentication()
        always_return_data = True
        default_format = "application/json"

    def post_list(self, request, **kwargs):
        self.method_check(request, allowed=['post'])
        # Do any operation here and return in form of json in next line
        return self.create_response(request, <return json>)