如何使用对象.筛选(一对多)关系



我有3个表:Job, Flight和Image一个作业可以有多个航班,而一个航班只能有一个作业。一次飞行可以有很多图像。我使用查询获得与工作相关的所有航班:

flights = Flight.objects.filter(job_id=job_id)

现在我想让这些航班中的所有图像都为所有图像调用一个函数但如果没有循环我就无法实现它:

for flight in flights:
images = Image.objects.filter(flight=flight)
data = process_images(images)

我想要这样的:

images = Image.objects.filter(flight=flights)

所以我只调用一次process_images,这可能吗?

您可以使用__来遵循Foreign Key关系。

images = Image.objects.filter(flight__job_id=job_id)

最新更新