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