单个 django 查询集获取 n 个相邻项目

2024-03-18

我正在制作一个“无限”/连续滚动列表(如 Twitter),并希望能够导航到特定项目。找到该项目很简单,但我需要在它之前和之后获取一些项目。

我使用与此处建议的答案类似的方法:获取 Django 中的下一个和上一个对象 https://stackoverflow.com/questions/6021694/getting-next-and-previous-objects-in-django

before = list(reversed(models.MyModel.objects.filter(pk__lt=pk).order_by('-pk')[:10]))
after = list(models.MyModel.objects.filter(pk__gte=pk).order_by('pk')[:11])
objects = before + after

有没有办法将这些合并到一个查询中?

我不能简单地将两者结合起来|运算符,例如before | after并且没有list/reverse,因为切片必须先出现。我也不能做类似的事情pk__lt=pk+10, pk__gt=pk-10因为对象可能会被删除。

对于更复杂的示例,如果我按主键以外的其他内容进行排序,我需要首先使用另一个查询来获取对象:

object = get_object_or_404(models.MyModel, pk=pk)
before = list(reversed(models.MyModel.objects.filter(pk__lt=object.other_key).order_by('-other_key')[:10]))
after = list(models.MyModel.objects.filter(pk__gte=object.other_key).order_by('other_key')[:11])
objects = before + after

同样,是否可以通过单个查询完成相同的事情?


我曾经遇到过类似的问题并解决了这个问题此处描述 https://groups.google.com/forum/#!topic/django-users/UmjaAGBNFsU:定义一个描述对象顺序的 SQL 变量,然后按其排序。然而,这是简单的 SQL。我不知道是否有办法使用 Django ORM。

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

单个 django 查询集获取 n 个相邻项目 的相关文章

  • 如何使用 opencv.omnidir 模块对鱼眼图像进行去扭曲

    我正在尝试使用全向模块 http docs opencv org trunk db dd2 namespacecv 1 1omnidir html用于对鱼眼图像进行扭曲处理Python 我正在尝试适应这一点C 教程 http docs op
  • Python 中的舍入浮点问题

    我遇到了 np round np around 的问题 它没有正确舍入 我无法包含代码 因为当我手动设置值 而不是使用我的数据 时 返回有效 但这是输出 In 177 a Out 177 0 0099999998 In 178 np rou
  • Pandas/Google BigQuery:架构不匹配导致上传失败

    我的谷歌表中的架构如下所示 price datetime DATETIME symbol STRING bid open FLOAT bid high FLOAT bid low FLOAT bid close FLOAT ask open
  • Python zmq SUB 套接字未接收 MQL5 Zmq PUB 套接字

    我正在尝试在 MQL5 中设置一个 PUB 套接字 并在 Python 中设置一个 SUB 套接字来接收消息 我在 MQL5 中有这个 include
  • 独立滚动矩阵的行

    我有一个矩阵 准确地说 是 2d numpy ndarray A np array 4 0 0 1 2 3 0 0 5 我想滚动每一行A根据另一个数组中的滚动值独立地 r np array 2 0 1 也就是说 我想这样做 print np
  • Pandas Merge (pd.merge) 如何设置索引和连接

    我有两个 pandas 数据框 dfLeft 和 dfRight 以日期作为索引 dfLeft cusip factorL date 2012 01 03 XXXX 4 5 2012 01 03 YYYY 6 2 2012 01 04 XX
  • 为什么 PyYAML 花费这么多时间来解析 YAML 文件?

    我正在解析一个大约 6500 行的 YAML 文件 格式如下 foo1 bar1 blah name john age 123 metadata whatever1 whatever whatever2 whatever stuff thi
  • Docker 中的 Python 日志记录

    我正在 Ubuntu Web 服务器上的 Docker 容器中测试运行 python 脚本 我正在尝试查找由 Python Logger 模块生成的日志文件 下面是我的Python脚本 import time import logging
  • 在 Sphinx 文档中*仅*显示文档字符串?

    Sphinx有一个功能叫做automethod从方法的文档字符串中提取文档并将其嵌入到文档中 但它不仅嵌入了文档字符串 还嵌入了方法签名 名称 参数 我如何嵌入only文档字符串 不包括方法签名 ref http www sphinx do
  • 如何使用 pybrain 黑盒优化训练神经网络来处理监督数据集?

    我玩了一下 pybrain 了解如何生成具有自定义架构的神经网络 并使用反向传播算法将它们训练为监督数据集 然而 我对优化算法以及任务 学习代理和环境的概念感到困惑 例如 我将如何实现一个神经网络 例如 1 以使用 pybrain 遗传算法
  • pyspark 将 twitter json 流式传输到 DF

    我正在从事集成工作spark streaming with twitter using pythonAPI 我看到的大多数示例或代码片段和博客是他们从Twitter JSON文件进行最终处理 但根据我的用例 我需要所有字段twitter J
  • 带有用户信息的 Django Logger

    我只是好奇 是否可以放User内的信息formatters信息输入LOGGING配置在setting py 现在我只是将该信息放入要记录的消息中 但也许有一种方法可以将其设置为formatters争论 这是我的LOGGING现在的配置 LO
  • Numpy - 根据表示一维的坐标向量的条件替换数组中的值

    我有一个data多维数组 最后一个是距离 另一方面 我有距离向量r 例如 Data np ones 20 30 100 r np linspace 10 50 100 最后 我还有一个临界距离值列表 称为r0 使得 r0 shape Dat
  • Pandas 将多行列数据帧转换为单行多列数据帧

    我的数据框如下 code df Car measurements Before After amb temp 30 268212 26 627491 engine temp 41 812730 39 254255 engine eff 15
  • python import inside函数隐藏现有变量

    我在我正在处理的多子模块项目中遇到了一个奇怪的 UnboundLocalError 分配之前引用的局部变量 问题 并将其精简为这个片段 使用标准库中的日志记录模块 import logging def foo logging info fo
  • 模拟pytest中的异常终止

    我的多线程应用程序遇到了一个错误 主线程的任何异常终止 例如 未捕获的异常或某些信号 都会导致其他线程之一死锁 并阻止进程干净退出 我解决了这个问题 但我想添加一个测试来防止回归 但是 我不知道如何在 pytest 中模拟异常终止 如果我只
  • Django-tables2 列总计

    我正在尝试使用此总结列中的所有值文档 https github com bradleyayers django tables2 blob master docs pages column headers and footers rst 但页
  • 如何应用一个函数 n 次? [关闭]

    Closed 这个问题需要细节或清晰度 help closed questions 目前不接受答案 假设我有一个函数 它接受一个参数并返回相同类型的结果 def increment x return x 1 如何制作高阶函数repeat可以
  • Pandas 每周计算重复值

    我有一个Dataframe包含按周分组的日期和 ID df date id 2022 02 07 1 3 5 4 2022 02 14 2 1 3 2022 02 21 9 10 1 2022 05 16 我想计算每周有多少 id 与上周重
  • Kivy - 单击按钮时编辑标签

    我希望 Button1 在单击时编辑标签 etykietka 但我不知道如何操作 你有什么想法吗 class Zastepstwa App def build self lista WebOps getList layout BoxLayo

随机推荐

  • 如何直接从 Android 应用程序发送电子邮件而不显示设备的默认电子邮件格式?

    我正在构建一个从 Android 应用程序发送电子邮件的表单 我使用 Intents 发送电子邮件 即 Intent sendIntent sendIntent new Intent Intent ACTION SEND 我的要求是我希望立
  • SSMS 结果作为可点击的链接

    我对 SQL 相当陌生 我环顾四周 看看是否可以找到一种方法来做到这一点 如果可能的话 这是我的 SQL 查询文本 SELECT CONCAT https domain 8080 analyzer sipid SIPCallId cmd G
  • 有没有办法让 PHP 详细加载类,指示 .php 文件的完整路径?

    我想让 PHP 在加载类时将调试信息 包括 php 文件的完整路径 打印到标准错误 例如 从 path to my class MyClass php 加载 MyClass 有没有办法在不事先知道源文件在哪里的情况下做到这一点 编辑以澄清我
  • after_commit 回调被调用多次

    更新 对 update attributes 的调用是否会获取它自己的事务 我看过this https stackoverflow com questions 7603448 rails after save callback being
  • 如何设置bluepy无需sudo即可扫描的环境?

    我编写了一些 Python 脚本 用于扫描设备 如果它们与 名称 匹配 我就会连接到它们并做一些蓝色的事情 该脚本是建立在bluepy module 我认为我不喜欢的是 我需要运行设备扫描sudo like sudo python3 get
  • 如何使用 mongodb 聚合框架获取运行总计?

    我对 MongoDB 相当陌生 正在使用聚合框架 文档中的示例之一显示以下内容 它返回每月新用户加入的总数并列出加入的月份 db users aggregate project month joined month joined group
  • .htaccess 的公共目录

    我在index php中有一个调度程序函数 因此URL如下 博客 显示转到 index php blog show
  • 获取我们所有私人仓库的列表

    我想获取我们组织 github 中所有私有存储库的列表 我试过 curl u user pw X GET https api github com orgs xxx repos per page 100 gt gt list txt 我发现
  • 如何在 jQuery 中处理按钮点击事件?

    我需要一个按钮并在 jQuery 中处理它的事件 我正在编写这段代码 但它不起作用 我错过了什么 div class demo br br br div
  • java 中类型擦除如何工作?

    我正在浏览 TypeErasure 主题http download oracle com javase tutorial java generics erasure html http download oracle com javase
  • 打包具有依赖项的 Android AAR

    我想将我的库打包为 aar 该库有几个依赖项 通用图像加载器 ORMLite guava 它还依赖于我编写的另一个库 称为 库 B 我有两个问题 请问每个将使用我的库的人都需要根据库的依赖项添加依赖项 通用图像加载器 ORMLite gua
  • 检测字符串中的垃圾字符

    我想允许用户输入字符 数字和特殊字符 但不允许输入 ascii 值大于 127 的垃圾字符 例如 等 我有这样的功能 for int i 0 i lt value Length i value is input string if int
  • 无法使用散列密码登录 Android 应用程序

    我一直在遵循教程来为基于 Android 的应用程序创建登录信息 但是在加密密码后 我无法对用户进行身份验证 我几天来一直在寻找问题的解决方案 但仍然没有成功 我希望这是我错过的一些简单的事情 评论中也有很多人在视频 6 播放列表中的最后一
  • App Engine 数据存储上的查询等效项之间?

    我有一个包含 IP 地址范围的模型 类似于 class Country db Model begin ipnum db IntegerProperty end ipnum db IntegerProperty 在 SQL 数据库上 我将能够
  • 在python中的CSV文件的2列中写入2个列表

    我有 2 个清单 a 1 2 3 b 4 5 6 我想将它们写在 CSV 文件中的两列中 因此当我打开 Excel 工作表时 我会看到如下内容 col1 col2 1 4 2 5 3 6 我怎样才能做到这一点 I used zip a b
  • 如何在 MPMoviePlayerController 中打开 Youtube 视频并播放

    我以前用过这个方法1次 但现在我无法从这个在 MPMoviePlayerController 中直接播放 YouTube 视频的 URL 获取视频 URL void viewDidLoad player MPMoviePlayerContr
  • AttributeError:模块 Pip 没有属性“main”

    我正在尝试为一个名为 Zulip 的开源项目构建 python api 但我一直遇到同样的问题 如下面的屏幕截图所示 我正在运行 python3 我的 pip 版本是 10 0 0 有问题的文件是setup py混乱的代码是当pip mai
  • 如何在 CMake 中设置构建时间的环境变量? [复制]

    这个问题在这里已经有答案了 我有一个 python 脚本可以生成 cpp在后续编译中使用的源 该脚本使用一些第三方模块 我正在尝试设置PYTHONPATH到模块位置 我尝试做set ENV PYTHONPATH path to module
  • spring @transactional 线程安全吗?

    I used Transactional在我的一个类上并在多线程环境中使用它 据我了解 它将在线程本地环境中执行并且是线程安全的 现在我的用例是从帐户中提取金额 如果读取的账户金额是脏的 会不会出现透支的情况 我不确定像现在这样是否安全 或
  • 单个 django 查询集获取 n 个相邻项目

    我正在制作一个 无限 连续滚动列表 如 Twitter 并希望能够导航到特定项目 找到该项目很简单 但我需要在它之前和之后获取一些项目 我使用与此处建议的答案类似的方法 获取 Django 中的下一个和上一个对象 https stackov