2

我正在尝试将 django-voting 应用程序添加到我的项目中。我不知道如何在我的模板中使用它,所以我添加了一个新的模板标签,用于在用户点击按钮时投票赞成或反对。我不知道是否有一个很好的形式来做到这一点。

我的问题是模板标签中的这些行:

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

django 打印:

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

如何将属性 _meta 添加到我的对象“Place”?

4

1 回答 1

10

问题是obj这里实际上不是一个对象,而是一个带有一个元素的查询集。您应该使用get而不是filter,因为get实际上返回一个模型实例。

obj = Place.objects.get(id=object_id)
于 2011-09-23T17:31:35.853 回答