很少有,我发现自己有一组标识符,并希望检索与任何标识符匹配的表中的所有对象,但也想要查看所有没有任何匹配对象的标识符数据库。如何获得Django .filter(something__in = some_set)查询的* UN *匹配标准?
我现在做到这一点的方法是:
some_ids = ("a", "b", "c")
matched_objects = MyModel.objects.filter(my_key__in=some_ids)
caught_ids = set()
for obj in matched_objects:
caught_ids.add(obj.my_key)
unmatched_ids = set(some_ids) - caught_ids
这种感觉非常详细。有一个更好的方法吗?
并且做出另一个查询? – Alvaro
不需要其他查询。 –
他希望两个模型都匹配id列表和不匹配id的列表。你的代码没有得到第一部分,因此需要第二个查询 – Alvaro