2011-12-24 28 views
2

這是我的模型Django的排序列表 - 複雜的查詢

class Review(models.Model): 
    reviewHeader = models.CharField(null=False,default="",max_length=200) 

class ReviewRate(models.Model): 
    review = models.ForeignKey(CompanyReview,null=False,default=0) 
    isPositive = models.BooleanField(blank=True) 

我想通過積極的票數評論排序。

Review.objects.all().annotate(ss = Sum('rev__reviewrate__isPositive')).order_by('-ss') 

這種排序有最大正面票數的評論。但是,如果評論有2項正面評價和2項否定評價,那麼評審只有一項正面投票。

但我想按(正面 - 負面)計數排序它們。

我該如何做到這一點?

感謝

回答

1

對於這樣的事情,我認爲你需要新的字段添加到你的模型像num_of_pos_votes那麼你可以用這個字段排序