【发布时间】:2020-08-27 03:13:51
【问题描述】:
使用 Django ORM 可以在默认 table1.id = table2.fk 之外的条件下执行 select_related(左连接)
使用示例模型:
class Author(models.Model):
name = models.TextField()
age = models.IntegerField()
class Book(models.Model):
title = models.TextField()
和原始的 sql
SELECT 'Book'.*, 'Author'.'name'
FROM 'Book'
LEFT JOIN
'Author'
ON 'Author'.'id' = 'Book'.'author_id'
AND 'Author'.'age' > 18 ;<---this line here is what id like to use via the ORM
我知道在这个简单的示例中,您可以在加入后执行过滤,但这在我的具体情况下不起作用。因为我正在对需要过滤器的多个左连接进行求和。
【问题讨论】:
-
您能否更新相关模型并指定您的实际要求。或许那时我们可以找到解决此问题的方法。
标签: sql django django-models orm