Ошибка в голосовании Джанго?

Я пытаюсь получить наиболее популярные элементы в 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'], Как это можно исправить?

3 ответа

Да, похоже, что этот код не был затронут в течение 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/.

В то время это был наиболее вероятный способ определения механизма базы данных, и теперь он устарел. Лично я бы не использовал это, возможно, есть и другие проблемы...

Это похоже на приложение до django1.0, вы должны проверить ветки на github: https://github.com/brosner/django-voting/network и использовать активный форк или рассмотреть возможность использования альтернативного приложения для этого.

Я сделал следующее, что, по-моему, является самым простым, пока голосование в django не будет исправлено вверх по течению:

в конце вашего settings.py, добавить:

DATABASE_ENGINE = DATABASES['default']['ENGINE']
Другие вопросы по тегам