【发布时间】:2010-10-03 07:48:15
【问题描述】:
假设我有以下模型:
class Contest:
title = models.CharField( max_length = 200 )
description = models.TextField()
class Image:
title = models.CharField( max_length = 200 )
description = models.TextField()
contest = models.ForeignKey( Contest )
user = models.ForeignKey( User )
def score( self ):
return self.vote_set.all().aggregate( models.Sum( 'value' ) )[ 'value__sum' ]
class Vote:
value = models.SmallIntegerField()
user = models.ForeignKey( User )
image = models.ForeignKey( Image )
网站的用户可以将他们的图片贡献给多个比赛。然后其他用户可以投票赞成或反对。
一切正常,但现在我想显示一个页面,用户可以在该页面上查看对某个竞赛的所有贡献。图像应按其得分排序。 因此我尝试了以下方法:
Contest.objects.get( pk = id ).image_set.order_by( 'score' )
我担心它不起作用,因为'score' 不是可用于查询的数据库字段。
【问题讨论】: