2017-03-17 5 views
0

私は2つの異なるDjango Appsを持っています。それらのアプリは "PointOfSale"と "Inventory"です。何が起こるかは、これらのAppsの両方に製品が挿入されている「Product」テーブルがあることです。ここでは、2つのテーブルを同じデータで基本的なものにしておくことは、明らかに冗長です(実際には、商品の在庫表にはより多くのフィールドがあります)。2つのDjangoアプリを接続するが、それらを別々にする

私は現在、この問題に対処するためのさまざまなマージ戦略を考えています。私はいくつかの助けをしたいと思います。理想的には、私は各アプリケーションが独立して動作する可能性を保ちたいと考えています。

  • A保存信号
  • インシンクと呼ばれるOneToOne接続
  • ジェネリック関係
  • 第三のAppの作成、2つの接続を2つのテーブルを保つ:だから、私は次のシナリオを想定しましたProductsテーブルとCategoryOfProductsテーブルが保持され、Apps PointOfSaleとInventoryの両方がそれを前提条件として使用する製品。
  • 大規模なアプリケーションですべてをマージします。
  • 私は考えられなかったもう一つ。

おかげ

答えて

0

私は最善の方法は、両方の製品モデルから同じデータベースのテーブルを使用することだと思います。 https://docs.djangoproject.com/en/1.10/topics/db/multi-db/#an-example

AppAはDB_Aを使用しており、AppBは独自のモデルのデータベースとしてDB_Bを使用しており、製品モデル/テーブルはDB_Aであるとします。製品モデルにDB_Aを使用し、他のモデルにはDB_Bを使用するようにAppBを構成できます。

モデルが同じ場合、すべてのプロジェクトで同じコードが使用されるように、Productアプリをパッケージ化することが理想的です。

関連する問題