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