0

私は Django/Pinax に比較的慣れていないので、この独特の状況に直面しています。モデル「車両」があるとします。「Vehicle」の各インスタンスには、「Vehicle」に関連するいくつかの属性がありますが、「automobiles」は「car」、「boat」などの多くのモデルの 1 つになる自動車クラスの 1 つのインスタンスへの参照も持っています。 「飛行機」など

したがって、この「Vehicle」オブジェクトを作成するときは、それが参照するクラス インスタンスにとらわれないようにしたいと考えています。

しかし、すべての車両インスタンスを取得すると、参照されている自動車のコンテンツに到達できるはずです。

どうすればこれを達成できますか? これに対する可能な解決策を探しましたが、私が思いついたのは、django の「ContentTypes」フレームワークの使用だけです。しかし、これには、参照したいクラスに変更を加える必要があります。「車」、「ボート」、「飛行機」ですが、これらは外部アプリである場合があるため、私の場合は少し注意が必要です。

私への指針はありますか?

4

1 に答える 1

2

解決策は、あなたが言及した一般的な外部キーメカニズムです。参照オブジェクトを変更する必要はありません。Vehicle からの一般的な外部キーを他のオブジェクト タイプに追加するだけで、オブジェクト タイプに関係なくアクセスできます。

しかし、継承を実装しようとしているようです。django では、解決策はモデルの継承を使用することです。

class Vehicle(models.Model):
    ...

class Car(Vehicle):
    ...
于 2010-10-09T20:50:52.510 に答える