-1

私はかなり大きな Django Web アプリケーションを持っています。アプリケーションはサーバーにインストールされ、動作しています。これはいくつかの Django アプリに分割されており、それぞれに独自のモデルとビューがあります。

このアプリケーションのユーザーはプログラマーでもあり、データベースを操作するスクリプトを書きたい場合があります。既存の Django モデルを使用してほしい。

ただし、彼らが大きな Web アプリケーションに触れてほしくありません。ビューを変更したり、サーバーにインストールされている管理コマンドを書き込んだりできないようにする必要があります。データベースの独自のプライベート コピーで都合のよいときにスクリプトを実行するだけです。理想的には、彼らはただできるべきですpip install our-django-models.

アプリケーションを 2 つの部分に分割する最良の方法は何ですか? 1 つは、モデルだけを備えた非常にスリム化された Django アプリケーションでなければなりません (これもまた、異なる Django アプリに分割されます)。もう 1 つは最初のものに基づいている必要があり、他のすべて (ビュー、ビジネス ロジック、設定など) を提供する必要があります。

4

2 に答える 2

0

おそらく、django モデルを「実際のドメイン オブジェクト」から分離する必要があります。ドメイン オブジェクト ロジックを使用して新しいパッケージを作成し、django モデル オブジェクトにビジネス オブジェクトと django 基本クラスの両方を実装させます。次に、基本クラスにディスパッチすることで各メソッドを実装し、ここで必要な django のものを提供できます (その責任を django だけに限定します)。django チームと他のチームの両方が our-real-domain- を pip install できます。オブジェクト

于 2021-09-20T13:08:18.740 に答える