【问题标题】:how to get latest second row in django?如何在 django 中获取最新的第二行?
【发布时间】:2021-07-26 02:35:30
【问题描述】:

谁能帮助我我是 django 新手,所以我不知道如何将 sql 查询转换为 django 代码。 我的 sql 表是: select * from mangazones.mangabank_comic_banks; 表格图像: sql table image

然后进行第二行查询:

WITH added_row_number AS (SELECT comic_chapter,comic_english_name_id, row_number() OVER(PARTITION BY comic_english_name_id ORDER BY comic_chapter DESC) AS row_num FROM mangazones.mangabank_comic_banks) SELECT * FROM added_row_number WHERE row_num = 2;

我得到表: seond row table

我也想在 django 中进行第二行表查询。 谁能帮帮我?

【问题讨论】:

  • 也许ModelClass.objects.all().order_by("-pk")[1]

标签: django django-views django-templates


【解决方案1】:

您可以在 Django 模型中获取最新或最新的 2nd 值:

如果要使用主键进行过滤:

latest_second = Model_Name.objects.filter().order_by('-pk')[1]

如果你已经创建了日期和时间,你可以这样做:

latest_second = Model_Name.objects.filter().order_by('-created')[1]

这里,filter() 用于过滤某些项目。

如果您不想过滤项目,那么您可以使用:

latest_second = Model_Name.objects.all().order_by('-pk')[1]

【讨论】:

  • 还要确保将其包装在 try: except: 以防查询集为空。
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 2013-05-13
  • 1970-01-01
  • 2018-07-11
  • 2020-12-30
  • 2020-03-03
  • 1970-01-01
  • 2017-04-11
相关资源
最近更新 更多