Django 本身是不是支持公用表表达式?
Posted
技术标签:
【中文标题】Django 本身是不是支持公用表表达式?【英文标题】:Does Django natively support common table expressions?Django 本身是否支持公用表表达式? 【发布时间】:2013-07-04 03:25:03 【问题描述】:为了澄清我的问题,我想知道在访问 CTE 功能时是否可以惯用地使用 Django ORM。我想我可以通过编写原始 SQL 语句来使用 CTE,但是使用 ORM“语法糖”绕过手动编码 SQL 语句的能力是 Django 最初的吸引力之一。
【问题讨论】:
【参考方案1】:Django 不直接支持 CTE,因为它们并非对所有数据库都通用(mysql 不支持它)。有一些包扩展了 Django 的 ORM 的能力以支持 CTE。其中之一是django-cte-trees。请注意,它仅支持 PostgreSQL。
【讨论】:
MySQL 现在支持 CTE,SQLite、Oracle 和 PostgreSQL 也是如此。 Django 都支持。以上是关于Django 本身是不是支持公用表表达式?的主要内容,如果未能解决你的问题,请参考以下文章