Как добавить атрибут _meta к объекту? - PullRequest
2 голосов
/ 23 сентября 2011

Я пытаюсь добавить приложение django-голосования в мой проект.Я не знаю, как использовать его в своих шаблонах, поэтому я добавляю новые теги шаблонов для голосования вверх или вниз, когда пользователь нажимает кнопки.Я не знаю, есть ли для этого правильная форма.

Моя проблема с такой строкой в ​​теге шаблона:

obj = Place.objects.filter(id=object_id)
Vote.objects.record_vote(obj, self.user, +1)

django print:

Caught AttributeError while rendering: 'Place' object has no attribute '_meta'

Как мне добавить атрибут _meta моего объекта 'Place'?

1 Ответ

10 голосов
/ 23 сентября 2011

Проблема в том, что obj здесь на самом деле не объект, а набор запросов с одним элементом.Вы должны использовать get вместо filter, так как get фактически возвращает экземпляр модели.

obj = Place.objects.get(id=object_id)
...