2013-07-06 24 views
9

爲了澄清我的問題,我想知道是否有可能在訪問CTE功能時習慣性地使用Django ORM。我想我可以通過編寫原始SQL語句來使用CTE,但是使用ORM'語法糖'來繞過手工編寫SQL語句的能力是Django最初的訴求之一。Django本地支持公用表表達式嗎?

回答

7

Django不直接支持CTE,因爲它們不是所有數據庫都通用的(MySQL不支持它)。有一些包可以擴展Django的ORM支持CTE的能力。其中之一是django-cte-trees。請注意,它只支持PostgreSQL。

+1

MySQL現在支持CTE,SQLite,Oracle和PostgreSQL也支持。所有這些都是Django支持的。 – Bobort