2016-02-12 5 views
1

У меня есть эти 4 таблицы в Django:Джанго Выбор связанных объектов много уровней глубоких

  • Магазины (ID)
    • Products (идентификатор, store_id)
    • Заказы (product_id, customer_id)
  • Клиенты (ID)

Магазин имеет много продуктов, продукт имеет много заказов и заказ имеет один продукт и один клиент.

Как я могу запросить в Django для получения отдельного списка клиентов в магазине? Я мог бы легко сделать это с помощью SQL-запроса, но я бы предпочел пойти по пути ORM.

ответ

4

Если у вас есть магазин уже сгружен:

customers = Customer.objects.filter(order__product__store=store) 
+0

Я был просто ответить на этот вопрос. +1 – RafaelC

+0

Вы также можете использовать prefetch_related для извлечения клиентов, когда вы получаете магазин, но я не уверен, как это работает с несколькими уровнями. – RemcoGerlich

+0

Oh..I не знал, что этот стиль выборки идет настолько глубоко , –

Смежные вопросы