python - Django Queryset 过滤器获取所有元素
问题描述
我的代码如下所示
从 Car 类中提取 tag-id
标签 = [UUID('1b2990eb-f625-4458-8878-1ab199e3e72b'), UUID('6e663259-9bf0-4e2d-8bf6-11be14218036')]
当我尝试以下代码时:
Car.objects.filter(uuid__in=tags).values_list('id',flat=True)[0] -> Output 11
Car.objects.filter(uuid__in=tags).values_list('id',flat=True).all()[0] -> Output :11
Car.objects.filter(uuid__in=tags).values_list('id',flat=True).all() -> Output : <QuerySet [11,12]>
我想要 [11,12] 格式的输出
解决方案
AQuerySet
是可迭代的,当你迭代它时,你会得到项目(模型对象、元组、字典或标量值)。因此我们可以使用list(…)
函数 [Python-doc]来收集元素:
list(Car.objects.filter(uuid__in=tags).values_list('id',flat=True))
推荐阅读
- node.js - 执行 npm 安装代码 ENOENT 系统调用重命名时出错
- c# - 如何从后置摄像头更改为前置摄像头?
- signals - 信号 Godot 内的意外分配
- mysql - 如何在 rails5 上取出每个具有 parent_ids 限制的孩子
- php - 设置与 GET 参数相同的 $_SESSION 值是否存在安全风险 - PHP?
- visual-studio-code - 我用 xkb 将 RALT 反弹到退格,但它在 VS Code 中不起作用
- performance - 选择列时访问子表单对象挂起?
- java - 使用 Lombok @Slf4j 时如何使来自其他依赖项的日志静音
- python - 如何更改我的代码中的 for 循环以在我的数据框中为我提供一个额外的列?
- python-3.x - 有什么区别?