1

我正在尝试检索 Django 中投票最多的项目。这是相关的代码行:

originalList = [x[0] for x in list(Vote.objects.get_top(Item, endIdx))[startIdx:]]

索引用于分页目的。当我尝试在浏览器中加载页面时,我得到:

AttributeError at /items/top/
'Settings' object has no attribute 'DATABASE_ENGINE'

但是,它应该寻找的属性不是 DATABASE_ENGINE,而是在DATABASES['default']['ENGINE']. 如何解决这个问题?

4

3 回答 3

1

是的,看起来那个代码已经有4 年没有被碰过了。它声称

Note that this application requires Python 2.3 or later, and Django
0.97-pre or later. You can obtain Python from http://www.python.org/ and
Django from http://www.djangoproject.com/.

当时,这很可能是定义数据库引擎的方式,现在已被弃用。就个人而言,我会避免使用它,它可能还有其他问题......

于 2013-04-06T00:42:19.470 回答
0

这看起来像是 django1.0 之前的应用程序,您应该检查 github 上的分支:https ://github.com/brosner/django-voting/network并使用活动分支或考虑为此使用替代应用程序。

于 2013-04-06T01:12:45.870 回答
0

我已经完成了以下操作,我想这是在上游修复 django 投票之前最简单的事情:

在你的末尾settings.py,附加:

DATABASE_ENGINE = DATABASES['default']['ENGINE']
于 2013-04-06T00:19:53.037 回答