【发布时间】:2016-01-07 14:19:34
【问题描述】:
如何在不使用原始 SQL 的情况下使用来自自定义连接表达式的数据来注释 Django QuerySet?
我想为 Django ORM 翻译以下查询,而不必使用 this question:
SELECT a.*, b.name as b_name
FROM a
JOIN b ON ST_Within(ST_Centroid(a.geom), b.geom)
据我所知,执行此类操作的最佳候选者是 annotate(...) 函数,但文档没有任何关于如何将连接表添加到带注释的 QuerySet 的内容。
我的另一个想法是使用类似于ManyToManyField(可能是它的子类)的东西,它可以为其连接模型使用自定义ON ... 表达式。
还有什么想法吗?
【问题讨论】: