2013-07-06 22 views
9

私の質問を明確にするために、CTE機能にアクセスしながらDjango ORMを慣用的に使用できるかどうかを知りたいと思います。私は生のSQL文を書くことでCTEを使うことができると思いますが、ORMの構文砂糖を手書きコーディングSQL文をバイパスする機能はDjangoの元の魅力の1つでした。Djangoはネイティブに共通テーブル式をサポートしていますか?

答えて

7

DjangoはCTEを直接サポートしていません。これらのCTEはすべてのデータベースに共通するものではありません(MySQLはサポートしていません)。 CTEをサポートするためにDjangoのORMの機能を拡張するパッケージがあります。これらのうちの1つはdjango-cte-treesです。 PostgreSQLのみをサポートしていることに注意してください。

+1

MySQLはSQLite、Oracle、PostgreSQLのようにCTEをサポートするようになりました。すべてがDjangoがサポートしています。 – Bobort

関連する問題