Session

Django + SQLAlchemy: シンプルWay

DjangoのORMはとても便利ですが、少し複雑なクエリを組み立てようとすると急に難しくなってしまうことがあります。例えば、サブクエリの結果をINNER JOINしたい場合や、1つのテーブルを2回OUTER JOINしたい場合などは、SQLならすぐに書けるのにDjango ORMで表現するのがとても難しかったり、不可能だったりします。このような場合にSQLを直接書いて `Model.objects.raw()` や `execute()` で実行する方法もありますが、この方法では動的にSQLを組み替えるのが難しくなったりSQL Injectionのリスクもあります。
このトークでは、SQLAlchemyをSQL表現言語として使う事でSQLの組み立てをプログラムで行い、Django上で安全に実行する方法を紹介します。

アジェンダ

* Django ORMで表現が難しいSQLの例
* SQLを直接書いてrawやexecuteで実行する例と問題点
* SQLAlchemyの紹介と簡単な実行例
* 複雑なSQLをSQLAlchemyで組み立てる
* SQLAlchemyとDjangoの連携

Takayuki Shimizukawa

beproud, sphinx

Tokyo, Japan

Actions

Please note that Sessionize is not responsible for the accuracy or validity of the data provided by speakers. If you suspect this profile to be fake or spam, please let us know.

Jump to top