这个问题已经在这里有一个答案:
- 一个QuerySet通过聚合字段值 3答案
我有,我想根据计算出的值排序记录了一把。 得到的答案在这里 ......像这样:
sorted(Profile.objects.all(), key=lambda p: p.reputation)
在Profile类是这样的:
class Profile(models.Model):
...
@property
def reputation(self):
...
不幸的是,一般的观点是期待一个QuerySet对象,如果我给它一个列表抛出一个错误。
有没有办法做到这一点,它返回一个查询集
要么...
我可以转换列表到查询集不知何故? 找不到像在Django文档任何东西。
我希望不要进行非规范化的数据,但我想我会,如果我不得不这样做。
更新/回答:
似乎得到查询集回来的唯一方法是,如果你可以得到所有你的逻辑到SQL查询。
当这是不可能的,(我认为),你需要进行非规范化的数据