【问题标题】:Django ORM - Translate this self join query to ORMDjango ORM - 将此自联接查询转换为 ORM
【发布时间】:2018-07-19 21:18:27
【问题描述】:

请帮助将此 SQL 查询转换为 Django ORM 查询。

select l.* from products l inner join products r on l.category = r.category where r.id = %s

请注意category 本身就是一个指向ProductCategory 模型的ForeignKey(告诉它是否对您有用)。另外,如果可能的话,将它与这个 ORM 查询结合起来。

Product.objects.prefetch_related('productrecipes', 'farmerprofiles', 'productfeedbacks')

请帮忙。谢谢。

【问题讨论】:

    标签: python mysql django orm


    【解决方案1】:

    假设您想要与给定Product 属于同一类别的所有产品:

     # given product
     product = Product.objects.get(...)
     # products from same category
     related_products = Product.objects.filter(category_id=product.category_id)
    

    然后您可以附加您的 prefetch_related 调用:

     related_products = related_products.prefetch_related(...)
    

    【讨论】:

      猜你喜欢
      • 2014-12-26
      • 2015-08-23
      • 2020-09-12
      • 2016-06-04
      • 2016-04-20
      • 2019-10-31
      • 2021-07-06
      • 2017-09-10
      相关资源
      最近更新 更多