django - Django ORM - 在 FROM 子句中使用子查询
问题描述
目标:使用 RowNumber 函数获取每一行的编号,从中过滤一个值,但保留不应用过滤器时给定的适当 RowNumber,否则 RowNumber 将始终返回 1。
在翻译成 Django ORM 之前,我发现它有助于获取 SQL 语法,即:
SELECT rn.row_number, name
FROM ( SELECT ROW_NUMBER() OVER (ORDER BY name), name
FROM customer ) as rn
WHERE name = 'Juan'
问题我无法将其翻译为 Django ORM。我尝试了以下方法:
subq = models.Customer.objects.all().annotate(
rank=Window(
expression=RowNumber(),
order_by=(F('name'))
)
)
这是我不知道如何继续的地方。如何告诉我的models.Customer在其查询中使用subq作为FROM ?
解决方案
推荐阅读
- r - Conditional calculation across columns
- c# - 如何使内容视图成为泛型?
- kubernetes - Minikube 与 nginx 入口路径重写问题
- java - 为什么 JNDI InitialContext 可以在 jsp 中正常工作,但不能在类中工作?
- java - 如何在 JOOQ 中懒惰地获取组?
- reverse-proxy - haproxy 调用请求时获取 404(直接工作正常)
- ios - 将相机移动到点击的 SCNNode
- php - 支付宝开发者模式集成
- oracle - 使用 PL/SQL-UTL_HTTP 代码将 PDF 文件发送到电报
- python - 是否有一种 SQL 语法可以通过基于同一张表中第三列的相等值在 2 列中搜索来创建新列?