我有一些记录,我想基于计算值进行排序。得到的答复over here ...像这样:django - 将列表转换回查询集
sorted(Profile.objects.all(), key=lambda p: p.reputation)
在Profile类是这样的:
class Profile(models.Model):
...
@property
def reputation(self):
...
不幸的是,一般的观点是期待一个QuerySet对象,并抛出一个错误,如果我给它一个列表。
有没有办法做到这一点,它返回一个查询集
或...
我可以转换列表到查询集不知何故?在django文档中找不到类似的东西。
我希望不要使数据非规范化,但我想我会如果我必须。
更新/答:
似乎得到查询集回来的唯一方法是,如果你可以得到所有你的逻辑到SQL查询。
当那是不可能的,(我认为),你需要进行非规范化的数据
是不是一个更好的问题“我如何将列表(或字典)传递到通用视图”?我假设你是否解决了这个问题,那么无论你是通过转换为查询集还是不这样做...... – 2009-06-30 09:45:47
是的......这是,但我只是想知道是否有一种简单的方法将其转换为一个查询集,然后我去分叉通用视图;) – Jiaaro 2009-06-30 16:17:01
mods,这不是重复的。答案是这样的一个不同的问题:“你不能这样做,所以你必须做其他事情。”另一个问题描述了“别的东西”。 – Jiaaro 2015-08-06 15:32:06