嘿,我想根据Django中的计算值对对象进行排序...我该怎么做?
这是一个基于堆栈溢出的示例用户个人资料模型,解释了我的困境:
class Profile(models.Model):
user = models.ForeignKey(User)
def get_reputation():
...
return reputation
reputation = property(get_reputation)
因此,说我想按信誉对用户进行排序。我怎么做?我知道您不能只是这样做:
Profile.objects.order_by("-reputation")
谢谢大家的帮助 :)
最佳答案
如果您需要在数据库中进行排序(因为您有很多记录,并且需要例如对其进行分页),则唯一的真实选择是将信誉转换为非规范化字段(例如,在模型上的覆盖的save()
方法中进行更新) 。