9
为了澄清我的问题,我想知道是否有可能在访问CTE功能时习惯性地使用Django ORM。我想我可以通过编写原始SQL语句来使用CTE,但是使用ORM'语法糖'来绕过手工编写SQL语句的能力是Django最初的诉求之一。Django本地支持公用表表达式吗?
为了澄清我的问题,我想知道是否有可能在访问CTE功能时习惯性地使用Django ORM。我想我可以通过编写原始SQL语句来使用CTE,但是使用ORM'语法糖'来绕过手工编写SQL语句的能力是Django最初的诉求之一。Django本地支持公用表表达式吗?
Django不直接支持CTE,因为它们不是所有数据库都通用的(MySQL不支持它)。有一些包可以扩展Django的ORM支持CTE的能力。其中之一是django-cte-trees。请注意,它只支持PostgreSQL。
MySQL现在支持CTE,SQLite,Oracle和PostgreSQL也支持。所有这些都是Django支持的。 – Bobort