解决AssertionError: Negative indexing is not supported

bs = Blog.objects.all()[:-1]

报错如标题。
原因:Django的QuerySet是惰性的,意味着它们直到需要结果时才会执行。当你使用负索引进行切片时,Django无法将其转换为有效的SQL,因为SQL的LIMIT和OFFSET子句不支持负值。

a = [1,2,3,4]
b = a[:-1]
# 这种是可以的,因为a的值是定长的,已经初始化完成的

故报错的正确写法为:

c = Blog.objects.all().count()
bs = Blog.objects.all()[:c-1]

相关推荐

  1. XML 解析异常问题解决

    2024-07-12 02:10:04       27 阅读
  2. 域名解析出错的解决办法

    2024-07-12 02:10:04       19 阅读
  3. Edge问题解决教程

    2024-07-12 02:10:04       56 阅读
  4. 跨域怎么解决

    2024-07-12 02:10:04       56 阅读
  5. php解决XSS攻击

    2024-07-12 02:10:04       54 阅读

最近更新

  1. docker php8.1+nginx base 镜像 dockerfile 配置

    2024-07-12 02:10:04       66 阅读
  2. Could not load dynamic library ‘cudart64_100.dll‘

    2024-07-12 02:10:04       70 阅读
  3. 在Django里面运行非项目文件

    2024-07-12 02:10:04       57 阅读
  4. Python语言-面向对象

    2024-07-12 02:10:04       68 阅读

热门阅读

  1. PCL 点云PFH特征描述子

    2024-07-12 02:10:04       21 阅读
  2. 北京大学教育评论

    2024-07-12 02:10:04       24 阅读
  3. leetcode秋招冲刺 (专题16--18)

    2024-07-12 02:10:04       21 阅读
  4. 日常的网络杂记

    2024-07-12 02:10:04       19 阅读
  5. 设计模式之单例模式

    2024-07-12 02:10:04       21 阅读
  6. 软件架构之测评方法

    2024-07-12 02:10:04       15 阅读
  7. Webpack打包生产环境进行优化处理

    2024-07-12 02:10:04       20 阅读
  8. 【深度学习】关于模型加速

    2024-07-12 02:10:04       22 阅读
  9. k8s 部署RuoYi-Vue-Plus之mysql搭建

    2024-07-12 02:10:04       22 阅读
  10. 大数据面试题之Hudi(1)

    2024-07-12 02:10:04       18 阅读
  11. ES6 Iterator 与 for...of 循环(五)

    2024-07-12 02:10:04       23 阅读