Django多部分ORM查询,包括JOIN

时间:2015-06-11 18:21:43

标签: python mysql django python-2.7 orm

我认为我只是无法正确搜索,所以如果是这种情况,请将我重定向到相应的问题。

我有一个电子商务平台的orders列表。然后我有两个名为checkout_orderproductcatalog_product的表格结构为:

|______________checkout_orderproduct_____________|
| id | order_id | product_id | qty | total_price |
--------------------------------------------------

|_____catalog_product_____|
| id | name | description |
---------------------------

我正在尝试获取与订单相关的所有产品。我的想法是这样的:

for order in orders:
    OrderProduct.objects.filter(order_id=order.id, IM_STUCK_HERE)

查询的第二部分应该是什么,以便我找回诸如

之类的产品列表
["Fruit", "Bagels", "Coffee"]

1 个答案:

答案 0 :(得分:0)

products = (OrderProduct.objects
            .filter(order_id=order.id)
            .values('product_id'))
Product.objects.filter(id__in=products)

id__in=list(products):请参阅说明“效果注意事项”link