次の Django との関係をモデル化する最善の方法を見つけるのに問題があります。
私は現在、他のすべてが接続するメイン モデルとしてサイト モデルを持っています。サイトは、ModuleSlots とモジュールの 2 つの基本的なビルディング ブロックで構成されています。ModuleSlot は、モジュール (すぐに説明します) を接続できるものです。
次に、サイトのモジュールスロットに接続できるモジュールの基本モデルである ModuleBase というモデルがあります。モジュールは、それ自体が機能する自己完結型のサイトであり、外部の世界については何も知りません。ModuleBase モデルは、新しいモジュールを作成するために継承されることを意図しています。モジュールの例は、Poll モジュールと Content モジュールです。要するに、将来的には新しい種類のモジュールを定義できるようにしたいので、基本クラスのアプローチを採用したのです。下の図は、私が今書いたことをよりよく表しているかもしれません。
ここで、このスキームに時間をかけたいと思います。ModuleSlot のコンテンツは、モジュールと添付された poll/content/etc を意味するタイミング可能である必要があります。事前に定義された同じ時間に変更できる必要があります。たとえば、現在 ModuleSlot が Content モジュールに関連付けられているとします。ModuleSlot が Poll モジュールを指すように変更し、特定の Poll を表示するようにします。これはすべて、特定の時間に自動的に発生するはずです。
このような関係をどのように提示すればよいでしょうか。私はこれをいくつか提供してきましたが、これは私がこれまでに持っているものです:モジュールが定義する個々のコンテンツタイプに継承されるある種の GenericContent モデルを作成する必要があると思います。PollModule の Poll は GenericContent から継承し、ContentModule の Content は同じことを行います。ModuleSlot の TimeSpan も導入する必要があります。次に、バックエンドで、ModuleSlot の更新が必要かどうかを毎分チェックし、モジュールと添付コンテンツを変更する必要がある場合は更新を行います。皆さんはどう思いますか?以下の乱雑な図は、説明されている関係を説明している可能性があります。
継承がここに行く正しい方法であるかどうかはわかりません(GenericContent)。Poll/Content/etc の ID を保存することもできます。すべての ID が同じタイプであるため、ModuleSlot にアタッチされているモジュールを知っているので、指定された ID のコンテンツをモジュールに問い合わせることができます。