我有一些记录,我想根据计算值进行排序。在这里得到答案......就像这样:
sorted(Profile.objects.all(), key=lambda p: p.reputation)
在这样的 Profile 类上:
class Profile(models.Model):
...
@property
def reputation(self):
...
不幸的是,通用视图需要一个查询集对象,如果我给它一个列表,则会引发错误。
有没有办法做到这一点,返回一个查询集
或者...
我可以以某种方式将列表转换为查询集吗?在 django 文档中找不到类似的东西。
我希望不要对数据进行非规范化,但我想如果必须的话我会的。
更新/答案:
似乎获取查询集的唯一方法是您是否可以将所有逻辑放入 sql 查询中。
如果这是不可能的,(我认为)你需要对数据进行非规范化