Django ORM join к одной и той же таблице дважды с помощью псевдонима
Мы используем модели Django. Мне нужно добавить еще одно условие, чтобы присоединиться к одной и той же таблице дважды с разными условиями. Пример запроса:
select shop_id
from shop_to_warehouse_mapping
inner join warehouse w1 on w1.id = shop.warehouse_id
inner join warehouse w2 on w2.id = shop.warehouse_id
where w1.type='daily_life' and w2.type='produce'
У нас есть сопоставления магазинов со складами, то есть многие ко многим.
Я хотел бы получить идентификаторы магазинов, которые работают со складом 1 и 2.
В моделях Django у нас есть внешний ключ warehouse в модели отображения shop to warehouse. Как я могу использовать метод filter
для представления этого? Если бы я мог как-то использовать псевдоним в фильтре, это было бы замечательно.
Любая помощь будет оценена по достоинству! (Я бы с удовольствием написал запрос напрямую, но этот запрос сложный, в нем уже есть много других условий).
Спасибо!