gpt4 book ai didi

python - 如何获得Python的等价物[:-1] in django ORM?

转载 作者:行者123 更新时间:2023-12-01 01:15:26 24 4
gpt4 key购买 nike

我正在编写一个 Django 应用程序,我想从查询中获取除最后一个之外的所有项目。我的查询是这样的:

objects = Model.objects.filter(name='alpha').order_by('rank')[:-1]

但它抛出错误:

Assertion Error: Negative indexing not supported.

知道我哪里出错了吗?

如有任何建议,我们将不胜感激。

最佳答案

您可以使用QuerySet.last()获取最后一个并使用其 id 将其从结果中排除。

objects = Model.objects.filter(name='alpha').order_by('rank')
last = objects.last()
objects = objects.exclude(pk=last.pk)

从结果中排除所有在数据库中找到的最小值排名的对象的查询:

objects = Model.objects.annotate(
mini_rank=Min('rank'), # Annotate each object with the minimum known rank
).exclude(
mini_rank=F('rank') # Exclude all objects ranked with the minimum value found
)

关于python - 如何获得Python的等价物[:-1] in django ORM?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/54393691/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com