Tastypie资源模型

时间:2012-03-19 09:27:53

标签: tastypie mongoengine

我正在使用mongoengine进行tastypie。我有核心文件但是当我在资源文件中使用它时它给我错误:

'QuerySet' object has no attribute 'model'

资源文件

class GameResource(ModelResource):
class Meta:
    queryset = Sports.objects.all()
    resource_name = 'sports'    

核心档案

from mongoengine import *
class Sports(Document):
    game = StringField(max_length=50,required=True)
    name = StringField(max_length=50,required=True)

以下是我收到的错误消息:

{"error_message": "", "traceback": "Traceback (most recent call last):\n\n  File \"c:\\virtualenvs\\env\\lib\\site-packages\\django_tastypie-0.9.11-
py2.6.egg\\tastypie\\resources.py\", line 192, in wrapper\n    
response = callback(request, *args, **kwargs)\n\n  File \"c:\\virtualenvs\\env\\lib\\site-packages\\django_tastypie-0.9.11-py2.6.egg\\tastypie\\resources.py\", 
line 397, in dispatch_list\n    return self.dispatch('list', request, **kwargs)\n\n  File \"c:\\virtualenvs\\env\\lib\\site-packages\\django_tastypie-0.9.11-py2.6.egg\\tastypie\\resources.py\", line 427, in dispatch\n    
response = method(request, **kwargs)\n\n  File \"c:\\virtualenvs\\env\\lib\\site-packages\\django_tastypie-0.9.11-py2.6.egg\\tastypie\\resources.py\",
line 1029, in get_list\n    objects = self.obj_get_list(request=request, **self.remove_api_resource_names(kwargs))\n\n  File \"c:\\virtualenvs\\env\\lib\\site-packages\\django_tastypie-0.9.11-py2.6.egg\\tastypie\\resources.py\", line 884, in obj_get_list\n    raise NotImplementedError()\n\nNotImplementedError\n"}

2 个答案:

答案 0 :(得分:2)

为确保您的缩进错误,Meta类应该是GameResource类的一部分,如下所示:

class GameResource(ModelResource):
    class Meta:
        queryset = Sports.objects.all()
        resource_name = 'sports'   

如果这不能解决问题,你能否粘贴完整的追溯?您提到的错误似乎没有在此代码中触发(任何地方都没有'model'属性)。因此,很难理解错误究竟是什么以及错误发生在何处。

答案 1 :(得分:-1)

如果有人需要一个关于如何为MongoDB创建Tastypie资源模型的示例,继承自Resource,这是一个非常有用的链接:

http://djangosnippets.org/snippets/2830/