「顧客の要望」で「CGI環境」と言われちゃう事がままあり
そういうケースでは、djangoごと引っ張ってくるのは無理っぽい。
と思ってる人は多いはず。
筆者が試したのはelixirです。
http://elixir.ematia.de/trac/wiki
当時は0.6.0ぐらいだったと思います。
結論から言うと、悪くはないのですが、
sqlalchemyのwrapper的な生い立ちのせいか
微妙なところで変なアクが有りますね。
- ModelというかEntityは、概ねdb.Modelの様な調子で書けます。
 - Field()への入れ子(?)宣言なのが何とも言えない。
 - 外部キー制約は、OneToMany(), OneToOne()で行けます。
 - 内部で、ReferenceProperty的挙動もやってくれます。
 - 定義したとおりのプロパティ名で、キーのリンク先データを引っ張ってくれます。
 - SQLに逐一送っちゃわずに、内部でトランザクションエミュレーションしてる模様。
 - setup_all()をやらないと、commit()でもデータを書き出してくれなかったとか。
 - 故に、データの書き出しは、Entityのsave()じゃなくて、session.commit()だったりとか。
 - # Entity.put = staticmethod(session.commit) #とかやっておくべきか?
 - setup_all()で、Entity.queryが沸いて出るとか。
 - Entityのquery.filer_by()関数で、新しいオブジェクトを返すので、それを変数に入れ忘れると、全件検索になっちゃうとか。
 - 複数カラムにまたがるインデックスを貼りたい場合は、sqlalchemyのクラスを引っ張ってくる必要が有っちゃったりとか。
 
その一方、実装は、pythonの限界に挑戦しちゃってる感があるので、参考になります。