django - 除了在 django 中使用 forloop 之外,查询和连接多个查询集的更好方法是什么?
问题描述
我有一个模型项目:
Item:
batch_no
batch_no
可以是从1
到 的任何东西20
。数据库中有 1000 多个项目。
现在。我需要获取4
每个 batch_no 的第一个元素。
我知道通过使用 forloop 查询和附加来做到这一点。
batches = Item.objects.values('batch_no').exclude(batch_no__isnull=True).distinct()
blist=[]
for batch in batches:
bitems= Item.objects.filter(batch_no=batch['batch_no'])[:4]
blist.append(bitems)
return blist
还有比这更好的方法吗?在单个查询中做什么?
我是 Django 的新手。
解决方案
推荐阅读
- spring - spring setter 注入调用混淆
- javascript - 我在通过 react native 解决 android 上的获取结果时遇到了 react native 的问题
- html - HTML 复选框值可以保存布尔值而不是字符串吗?
- excel - 在具有可变目标行的单元格单击上运行宏
- angular - 从 Web 应用程序 URL 将 svg 注册为 mat-icon
- vagrant - 使用 Chef Test Kitchen 脚本创建 CentOS 盒子时出现问题
- macos - macOS 上用于分析 macOS 应用程序的工具
- python-3.x - 如何按分钟获取数据的最大值?
- grpc - 编译 gRPC protobuf - “程序未找到或不可执行”
- javascript - 通过在 Javascript 中填充缺失的运算符来完成数学方程