如何在Django ORM查询集中注释对象,以便每个项目包含之前(上一个)和下一个(下一个)之后的对象的ID?我正在使用PostgreSQL和Django 1.11。
答案 0 :(得分:1)
您可以使用window functions lag()
and lead()
:
SELECT *
, lag(id) OVER (ORDER BY id) AS prev_id -- same order as query
, lead(id) OVER (ORDER BY id) AS next_id -- same order as query
FROM tbl
ORDER BY id;