如果给定查询的lis没有找到记录,Django将返回none对象

2024-06-17 18:03:26 发布

您现在位置:Python中文网/ 问答频道 /正文

我有一个id列表[1,2,3,4,5,6,7,8,9,10]

现在我想用上面的id列表查询一个模型。我就是这样做手术的。在

ModelA.objects.filter(id__in=ids)

这将返回与给定的id列表匹配的ModelA对象。现在考虑id [2,3,5]不存在。我能得到一个与输入列表长度相同的查询集,包括所有未找到的对象吗。??在

例如:

如果找不到[2,3,5],它应该返回

^{pr2}$

我怎么做到的?在


Tags: 对象in模型idids列表objectsfilter
1条回答
网友
1楼 · 发布于 2024-06-17 18:03:26

你可以做一些类似。。。在

ids = [1,2,3,4,5,6,7,8,9,10]
results = ModelA.objects.filter(id__in=ids)
result_ids = [result.id for result in results]
return [id if id in result_ids else None for id in ids]

相关问题 更多 >