嘿,我想根据Django中的计算值对对象进行排序...我该怎么做?

这是一个基于堆栈溢出的示例用户个人资料模型,解释了我的困境:

class Profile(models.Model):
    user = models.ForeignKey(User)

    def get_reputation():
        ...
        return reputation
    reputation = property(get_reputation)

因此,说我想按信誉对用户进行排序。我怎么做?我知道您不能只是这样做:
Profile.objects.order_by("-reputation")

谢谢大家的帮助 :)

最佳答案

如果您需要在数据库中进行排序(因为您有很多记录,并且需要例如对其进行分页),则唯一的真实选择是将信誉转换为非规范化字段(例如,在模型上的覆盖的save()方法中进行更新) 。

10-06 10:35