我正在和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"}发布于 2012-03-19 18:16:52
确保您的缩进是错误的,Meta类应该是GameResource类的一部分,如下所示:
class GameResource(ModelResource):
class Meta:
queryset = Sports.objects.all()
resource_name = 'sports' 如果这还不能解决问题,你能粘贴完整的回溯吗?你提到的错误似乎没有在这段代码中被触发(没有任何'model‘属性)。因此,很难准确地理解错误是什么,以及它到底发生在哪里。
发布于 2013-01-16 04:23:53
如果任何人需要关于如何为MongoDB创建Tastypie资源模型的示例,继承自资源,这里有一个非常有用的链接:
http://djangosnippets.org/snippets/2830/
https://stackoverflow.com/questions/9767682
复制相似问题