如何将属性'_meta'添加到对象?

时间:2011-09-23 16:20:59

标签: django django-models django-templates django-voting

我正在尝试将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 个答案:

答案 0 :(得分:10)

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

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