Django:使用评级应用程序的AttributeError

时间:2013-01-09 02:38:16

标签: django views attributeerror

这有点是我之前question的扩展,但在解决了这个问题后,我得到了一个不同的AttributeError。在我的视图中尝试执行此类操作时,此内容会显示'_RatingsDescriptor' object has no attribute 'cumulative_score'

def index(request):
    thing_list = Thing.ratings.cumulative_score()
    return render(request, 'index.html', {'thing_list':thing_list})

我的模特:

from ratings.models import Ratings

class Thing(models.Model):
    user = models.ForeignKey(User)
    ...
    ratings = Ratings()

使用django-simple-ratings应用时。此link引用在该模块中定义cumulative_score的位置。如何对多个对象使用累积分数?谢谢你的想法!


编辑:views.py:

def index(request):
    thing_list = Thing.objects.all()
    thing_list.ratings.cumulative_score()
    return render(request, 'index.html', {'thing_list':thing_list})

1 个答案:

答案 0 :(得分:2)

它是一个实例方法,所以你必须首先从数据库中检索Thing。

t = Thing.objects.get(xxxx)
t.ratings.cumulative_score()