Я недавно спросил , как решить простой запрос SQL . Оказывается, существует много решений .
После некоторого бенчмаркинга я думаю, что это лучший:
SELECT DISTINCT Camera.*
FROM Camera c
INNER JOIN cameras_features fc1 ON c.id = fc1.camera_id AND fc1.feature_id = 1
INNER JOIN cameras_features fc2 ON c.id = fc2.camera_id AND fc2.feature_id = 2
Теперь я не представляю, как выполнить этот запрос с Django ORM.