很少有,我發現自己有一組標識符,並希望檢索與任何標識符匹配的表中的所有對象,但也想要查看所有沒有任何匹配對象的標識符數據庫。如何獲得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