1

Django-ratings アプリで評価して、一連のモデル オブジェクトを注文しようとしています。ビューに order_by 関数を作成しましたが、正常に動作しますが、このエラーが発生する評価フィールドに到達すると機能しません: "rating value must be a Rating instance, not '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)
4

1 に答える 1