Django ORM-在FROM子句中使用SubQuery

时间:2019-07-11 17:55:41

标签: django django-orm

目标:使用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

0 个答案:

没有答案