1
如何在不使用原始SQL的情況下使用自定義連接表達式中的數據註釋Django QuerySet?使用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 ...
表達式爲其加入模型。
還有其他想法嗎?
這就是我所害怕的。現在我在這個特定的查詢中使用了'raw',但是真的很喜歡Django解決方案。 SA是一個非常好的庫,但在代碼庫中添加多種訪問數據庫的方式似乎不是一件好事情...... –