相关疑难解决方法(0)

django - 按计算字段排序查询集

我想要一个带有计算字段的模型,我可以应用排序.例如,假设我有以下模型:

class Foo(models.Model):
    A = models.IntegerField(..)
    B = models.IntegerField(..)
    C = models.ForeignKey(..)
Run Code Online (Sandbox Code Playgroud)

我希望有一个D和E字段,由以下公式计算:

  1. D = A - B.
  2. E = A - X(其中X是模型C的相关记录的字段)

如果我不需要应用排序,那么实现这一点将是微不足道的; 我只想添加属性到模型类.但是,我需要按这些字段排序.

一个解决方案是将所有记录提取到内存中并在那里进行排序,我认为这是最后的手段(它将破坏关于分页的事情).

有没有办法实现我正在尝试的东西?任何指导表示赞赏.

编辑:非规范化是一个禁忌.字段X的值非常频繁地改变,并且许多Foo记录与模型C的一个记录相关.X的更新将需要数千个E的更新.

django

21
推荐指数
4
解决办法
2万
查看次数

标签 统计

django ×1