使用tastypie过滤时出现404错误

时间:2013-03-28 14:23:47

标签: python django rest tastypie

我正在尝试使用tastypie过滤,但当我尝试通过过滤获取资源时,我会收到404.

class UserResource(ModelResource):
   class Meta:
       queryset = UsersCouchDb.objects.all()
       resource_name = 'users/list'
       fields = ['firstName', 'lastName', 'gender','status','date']
       always_return_data = True
       authorization= Authorization()
       filtering = {
           "firstName": ('exact', 'startswith'),
       }

我正在使用urlopen来访问资源:

    info= urllib2.urlopen('http://127.0.0.1:8000/api/users/list/&firstName__exact=David').read()

如何在尝试通过使用Tastypie过滤来获取资源时,我没有获得404?

1 个答案:

答案 0 :(得分:0)

如果您查询的列表中没有结果,TastyPie将只返回带有零元素的Json(如下所示):

{
    meta: {
        limit: 20,
        next: null,
        offset: 0,
        previous: null,
        total_count: 0
    },
}

所以看来如果你得到404,你就没有正确设置的东西。

以下事项可以解决您的问题:

  • 确保在?format=json
  • 之前将&附加到您的网址
  • 确保您已注册APIResource
  • 如果有任何不同,请确保您已设置了相应的urls.py.