2017-09-11 3 views
-1

徹底的な実装で多数のPythonクラスを使用する小さなプログラムがあります。私はコマンドラインインターフェイスを廃止し、Djangoアプリ内でアプリケーションをラップしたいが、私はちょうどDjangoを学んでいるし、慣習には慣れていない。既存のPythonクラスをDjangoモデルに変換する

私はいくつかのクラス、メモリ内の記憶構造、ゲッター/セッターなどを持っています。それらをDjangoモデルに変換してデータベースに保存し、djangoアプリケーションの周りでやり取りできるようにしたいと思います。このようなことをするための一般的なアプローチはありますか?

私は既存のクラスのdjango.db.models.Modelクラスを継承し、直接の対話のためにそれらを設定する必要がありますか?それとももっと一般的な/従来の方法でこれを行うのですか?

私はこのコードを他のアプリでも使えるようにしたいと思っています.Djangoのものではないので、私は既存のクラスをDjangoでしか使えないように変更したくありません。私はモデルを別々に作成し、次に実際のメモリ内クラスとDjangoモデルクラスとのやりとりを管理するための一種の中間マンクラスを考えましたが、それは私が拡張/変更するときに変更する必要がある場所のように思えますコード。事前に任意の助け

おかげで...

答えて

1

インポートをしたい場合は、最大のDjangoの強みの一つは、そのORMで、私はあなたがそれを使用することをお勧めして、はい、あなたはおそらくと相互作用部分を書き換える必要があるでしょうあなたがすでにModelsフォルダ〜クラスでこの機能を分離していれば、変更は本当に難しくありません

あなたのケースでは私はTornado/Aiohttpをチェックすることをお勧めします。あなたの機能のためのインターフェイス

2

個人的に、私はあなたの既存のクラスmodels.Modelを拡張し、Djangoの外部で使用するためにこれらのクラスの別々のバージョンを維持してください。

これは、それぞれの環境内でクラスをリーンで保守可能にします。

models.ModelとPythonモデルの両方を複数の継承を通じて拡張する新しいクラスを作成することもできます。ただし、同じデータの重複フィールドが発生します。

希望の場合は、モデルのサンプルを新しい質問として投稿し、ここにリンク先としてタグを付けてください。私はそれを変換することができます。

関連する問題