SQLデータベースモデルを備えたPythonCLIプログラムがあり、MVCフレームワーク(Djangoなど)を備えたフロントエンドを追加したいと考えています。モデルをすでに定義している場合、プログラムをフレームワークとインターフェースするための最良の方法は何ですか?
私はどちらかをしますか:
- Djangoと私のプログラムの両方で共有されるようにモデルを書き直します
- Djangoと私のプログラムの間のインターフェースとなるレイヤーを作成します
- マイプログラムからモデルを削除し、Djangoに処理させます
選択肢1:共有モデル
My Program / | \ Binaries Model Classes | Django / \ View Controller
選択肢2:ブリッジングライブラリを作成する
My Program / | \ Binaries Model Classes | My-Bridge | Django / | \ View Model Controller
選択肢3:ほとんどの作業にDjangoを使用し、プログラムからモデルを削除する
Classes \ My Program / | Binaries | | My-Bridge | Django / | \ View Model Controller
DjangoのORMとSQLAlchemyを使用して共有モデルを作成する方法がわからないため、選択肢1(共有モデルの作成)を避けています。
選択肢2(ブリッジの作成)については、これがDjangoを完全に使用しているかどうかわからないため、よくわかりません。ドキュメントから、MVCフレームワークを考えると、Djangoがモデルを処理する必要があると考えられているようです。
My-ProgramでSQLAlchemyモデルを使用するすべてのSQLAlchemyORMロジックを書き直す必要があるため、選択肢#3(プログラムからのモデルの削除)も避けています。
皆さんはどう思いますか?プログラムのCLIバージョンをすでに作成している場合、どちらを選択するのが最適ですか?