【发布时间】:2016-11-30 22:22:44
【问题描述】:
我绝不是 Django 专家,在某个问题上需要一些指导。
作为背景,我有一个较旧的 .NET 项目,我的任务是转变为 Django 项目。该项目获取完整的对象列表,然后运行大量用户集过滤器以最终获得所需的对象集。
.NET 中的一个过滤器可能是这样的......
matched.RemoveAll(x => ((x.annualIncome / 12) - x.payment) < monthlyIncome);
我正试图弄清楚如何使用 django ORM 做到这一点。我有点坚持这一点。
在伪代码 django ORM 版本中(是的,这不起作用):
matched.exclude(((annualIncome /12)-payment)__gt = monthlyIncome)
在此之前有 30 多个过滤器,因此我无法以不同的方式重做所有过滤器。我显然可以遍历每个对象和过滤器,但我决定先问。
我对这里的解决方案或友好的“RTFM,此页面回答它”持开放态度。
提前致谢,mods 请用更好的标题进行编辑,因为我的大脑现在正式从 3 天的流感编码中煎炸了。
【问题讨论】:
-
我可以帮助你,但我不会说 .NET 并且从你的文字中我无法弄清楚伪代码的哪些部分实际上是模型字段,哪些只是变量......我可以假设
annualIncome和payment是 int/float 变量,monthlyIncome是要过滤的 DB 字段? -
annualIncome 和 payment 是模型字段,monthlyIncome 是一个变量。
标签: python django postgresql django-orm