【问题标题】:Removing a result from Queryset从查询集中删除结果
【发布时间】:2010-05-29 02:49:38
【问题描述】:

有没有一种简单的方法可以在不影响数据库的情况下丢弃/删除查询集中的最后一个结果?

我正在尝试在 Django 中对结果进行分页,但不知道给定查询的对象总数。

我计划使用下一个/上一个或旧/新链接,所以我只需要知道这是第一页和/或最后一页。

首先很容易检查。要检查最后一页,我可以将结果数与页面大小进行比较或进行第二次查询。当最后一组中的结果数等于页面大小时,第一种方法无法检测到最后一页(即 100 条记录被分成 10 页,最后一页正好包含 10 个结果),我想避免进行第二次查询。

我目前的想法是我应该从数据库中获取 pagesize + 1 结果。如果查询集长度等于 11,我知道这不是最后一页,我想在将查询集传递给模板之前丢弃查询集中的最后一个结果。

【问题讨论】:

标签: django django-queryset


【解决方案1】:

您可以简单地对结果进行切片 :)

objects = your_pre_sliced_queryset[:pagesize]

【讨论】:

    猜你喜欢
    • 2014-10-15
    • 1970-01-01
    • 1970-01-01
    • 2021-04-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多