Django - 如果给定查询列表未找到记录,则返回 none 对象



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

现在我想使用上面的 id 列表查询一个模型。这就是我执行操作的方式。

ModelA.objects.filter(id__in=ids)

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

例如:-

如果未找到[2,3,5],则应返回

[1,None,None,4,None,6,7,8,9,10]

我怎样才能实现它?

你可以做这样的事情...

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]

相关内容

  • 没有找到相关文章

最新更新