在Tasty PIE中的PUT请求使用非PK值进行更新

时间:2013-03-13 18:02:32

标签: tastypie

我正在使用Tasty Pie来创建服务。我已应用过滤,以便根据非PK值进行搜索:  我的api.py文件:

class TestResource(ModelResource):
class Meta:
    queryset = ack_dadc.objects.all()
    authorization = Authorization()
    filtering = {
        'DistributorUID': ['exact'],

    }
    detail_allowed_methods = ['get', 'post', 'put', 'delete']

我的问题是:   我可以根据http:localhost / api / v1 / test /执行PUT请求吗?DistributorUID = steve 我已经google了很多但没有运气我只想根据非PK值更新数据库。

2 个答案:

答案 0 :(得分:1)

您将在Tastypie Cookbook中找到如何使用普通URL参数实现此目的的示例:http://django-tastypie.readthedocs.org/en/latest/cookbook.html#using-non-pk-data-for-your-urls

答案 1 :(得分:-1)

我认为你不能这样做:过滤器只适用于 GET 请求。

因此,如果您想实现这一点,您必须完成2项请求:

GET http:localhost/api/v1/test/?DistributorUID=steve

获取资源的ID,然后

PUT http:localhost/api/v1/test/ID

根据其ID更新它。