1
我試圖通過評分與Django評級應用程序來訂購一組模型對象。我已經在我的視圖中構建了一個order_by函數,但工作正常,但當我進入評分字段時,我得到此錯誤:「評分值必須是評級實例,而不是」100「。任何想法這個錯誤/錯誤的含義是什麼?Django評分錯誤:「評分值必須是評分實例,而不是」100「?
謝謝!
模板:
<a href="/mylist/?order_by=rating">Order by Rating</a>
查看:
def Mylist(request):
order_by = request.GET.get('order_by', 'created_date')
mylist = Mymodel.objects.filter(user=request.user).order_by(order_by)
if order_by == "rating":
qs = Mymodel.objects.filter(user=request.user).extra(select={
'rating': '((100/%s*rating_score/(rating_votes+%s))+100)/2' % (Mymodel.rating.range, Mymodel.rating.weight)
})
mylist = qs.order_by('-rating')
context = {'mylist ': mylist }
return render_to_response('mylist.html', context, context_instance=RequestContext(request))
型號:
class Mymodel(models.Model):
user = models.ForeignKey(User)
created_date = models.DateField(auto_now_add=True)
type = models.CharField(max_length=50)
description = models.CharField(max_length=140, blank=True)
rating = RatingField(range=5)
向我們展示我的Mymodel定義 – Alvaro
請添加Mymodel的定義和錯誤的完整堆棧跟蹤。 –
好的。 Mymodel只是一個普通的課程,有一些不同的領域,其中的領域是一個名爲「評級」的「評級領域」。 – user3199840