3

Django 継承メカニズムを使用せずに、独自のテーブルとすべての列を含む既存のモデルの正確なコピーを定義する必要があります。それ以外の場合は、OneToOne 関係を使用し、複製されたすべてのフィールドを親テーブルに保持しますが、これは明らかに必要ありません。2 番目のモデルのモデル フィールドとメソッド定義を繰り返さないようにしたいだけです。

助言がありますか?

4

2 に答える 2

6

1つの方法は、共通の属性を持つ抽象ベースモデルを作成することです。次に、現在のアプリで親モデルに対応する1つのモデルを作成します。

同じ基本クラス(および他のいくつかのフィールド)を使用して、複製モデル用に別のモデルを作成します。

エレガントではありませんが!

于 2012-09-14T20:34:51.807 に答える
0

Mixinsを見ましたか?

それらを使用すると、クラスのフィールドを Model クラスにミックスインし、通常の基本クラスから継承することができます。また、さまざまなクラスのフィールドをミックスインして、適切な構造を作成できます。

http://eflorenzano.com/blog/2008/05/17/exploring-mixins-django-model-inheritance/

于 2012-09-16T11:57:47.233 に答える