3

私は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"}
4

2 に答える 2

2

インデントが間違っていることを確認するには、次のように Meta クラスを GameResource クラスの一部にする必要があります。

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

それでも問題が解決しない場合は、完全なトレースバックを貼り付けていただけますか? あなたが言及しているエラーは、このコードではトリガーされていないようです (「モデル」属性はどこにもありません)。したがって、エラーが正確に何であり、正確にどこで発生するのかを理解するのは困難です。

于 2012-03-19T10:16:51.747 に答える
-1

Resource から継承して MongoDB 用の Tastypie リソース モデルを作成する方法の例が必要な場合は、次の非常に便利なリンクを参照してください。

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

于 2013-01-15T20:23:52.800 に答える