Python ';模块';对象没有属性';分类数据和#x27;Django Tastypie错误

Python ';模块';对象没有属性';分类数据和#x27;Django Tastypie错误,python,django,rest,tastypie,mongoengine,Python,Django,Rest,Tastypie,Mongoengine,我正在Django的RESTAPI中使用tastypie\u mongoengine models.py api.py 我得到以下错误: File "/home/my_name/projects/StudentBehaviour/mysite/mysite/urls.py", line 3, in <module> from app.api import StudentsResource File "/home/my_name/projects/StudentBeha

我正在Django的RESTAPI中使用
tastypie\u mongoengine

models.py

api.py

我得到以下错误:

  File "/home/my_name/projects/StudentBehaviour/mysite/mysite/urls.py", line 3, in <module>
    from app.api import StudentsResource
  File "/home/my_name/projects/StudentBehaviour/mysite/app/api.py", line 3, in <module>
    from tastypie_mongoengine import resources
  File "/home/my_name/projects/StudentBehaviour/env/local/lib/python2.7/site-packages/tastypie_mongoengine/resources.py", line 54, in <module>
    class ListQuerySet(datastructures.SortedDict):
AttributeError: 'module' object has no attribute 'SortedDict'
文件“/home/my_name/projects/studentbehavior/mysite/mysite/url.py”,第3行,在
从app.api导入学生资源
文件“/home/my_name/projects/studentbehavior/mysite/app/api.py”,第3行,在
来自tastypie_mongoengine导入资源
文件“/home/my_name/projects/studentbehavior/env/local/lib/python2.7/site packages/tastypi_mongoengine/resources.py”,第54行,在
类ListQuerySet(datastructures.SortedAct):
AttributeError:“模块”对象没有属性“SortedAct”

如何解决此问题?

好吧,从Django 1.9开始,
sortedct
已被删除。请检查此项以供参考

从Django 1.7开始已弃用,将在Django 1.9中删除。使用​ 相反在Python 2.7和3.1中提供+

您可以用
​collections.OrderedDict
,如链接中所述,通过更改库代码和提交的请求中给出的一些其他更改。但是,这可能不起作用,因为拉请求到目前为止未被接受,并且未能通过构建测试


另一种选择是将Django降级到1.8或1.7版本,直到Django-tastypie mongoengine能够发布一个稳定的版本,该版本适用于Django 1.9。

您使用的是哪个版本的Django?Django==1.9.4 Django-tastypie==0.13.3 Django-tastypie mongoengine==0.4.6 mongoengine==0.8.1
from tastypie import authorization
from tastypie_mongoengine import resources
from models import Students

class StudentsResource(resources.MongoEngineResource):
    class Meta:
        queryset = Students.objects.all()
        allowed_methods = ('get', 'post', 'put','delete', 'patch')
        authorization = authorization.Authorization()
  File "/home/my_name/projects/StudentBehaviour/mysite/mysite/urls.py", line 3, in <module>
    from app.api import StudentsResource
  File "/home/my_name/projects/StudentBehaviour/mysite/app/api.py", line 3, in <module>
    from tastypie_mongoengine import resources
  File "/home/my_name/projects/StudentBehaviour/env/local/lib/python2.7/site-packages/tastypie_mongoengine/resources.py", line 54, in <module>
    class ListQuerySet(datastructures.SortedDict):
AttributeError: 'module' object has no attribute 'SortedDict'