django - 我如何查询多个对象,使用多个 id 进行过滤
问题描述
class Timeline(models.Model):
license = models.ForeignKey(License, on_delete=models.CASCADE)
last_renewed = models.DateField()
due_date = models.DateField()
def home(request):
title = "Licences"
agencies = Agency.objects.all()
agent =Agency.objects.get(pk=1)
licenses = License.objects.all()
for license in licenses:
print(license.id)
timeline = Timeline.objects.select_related().filter(license_id = license.id).order_by('-id')[:1]
我想显示至少一个与我正在查询的每个许可证相关的时间线
解决方案
而不是forloop,你可以做这样的事情。对不起我的英语,但at least one
意味着我认为一个或多个。但这不会给你任何或更多,因为它可能是没有时间线与许可证相关的情况,所以an empty
查询集。
def home(request):
title = "Licences"
agencies = Agency.objects.all()
agent =Agency.objects.get(pk=1)
licenses = License.objects.all()
timeline = Timeline.objects.select_related().filter(license__in =licenses).order_by('-id')
推荐阅读
- ubuntu - HADOOP - 权限被拒绝执行 start-all.sh
- mongodb - 具有嵌套结构的 MongoDB 查询
- node.js - Nightwatchjs 读取文本文件 nodejs
- c - 无法使用 gcc 编译 main.c 并将其链接到另一个源文件
- c# - 在 asp.net core 中基于语言环境的时间格式
- c# - c# Filewatcher Microsoft Word
- c# - 在 Linq 中选择包含其他对象列表的新对象
- javascript - .toFixed 函数不适用于 js-object
- c# - 使用管理员权限和权限从 C# 执行 Powershell 脚本
- python - 在 python 中从 JSON 字典中搜索并获取值