ギャラリーフィールドを書いています。ManyToManyField
このフィールドは、独自のajaxウィジェットなどをサブクラス化して追加します。このソリューションを可能な限りコンパクトにしたい(つまり、可能であれば、別のプロジェクトでこれを再実装するためのコードをできるだけ少なくしたい)。
ManyToManyField
順序情報を保持する中間テーブル(に'から'パラメーターを提供する)を作成することにしました。
class IntermediateModel(models.Model):
from_content_type = models.ForeignKey(ContentType)
from_object_id = models.PositiveIntegerField()
from_content_object = generic.GenericForeignKey('from_content_type', 'from_object_id')
to_content_type = models.ForeignKey(ContentType)
to_object_id = models.PositiveIntegerField()
to_content_object = generic.GenericForeignKey('to_content_type', 'to_object_id')
order = models.PositiveIntegerField()
次の質問が発生します。
- (上記のような)一般的な関係を指す両方の外部キーを持つdjangoのm2mの「スルー」モデルを持つことは可能ですか?もしそうなら-これを達成する方法は?
- これを行うことが可能である場合、そのようなモデルは複数のm2mフィールド間の一般的な関係を保持できますか?いいね:クラス<->中級<->学生、ギャラリー<->中級<->写真-どちらも「スルー」モデルとして中級を使用していますか?
- 編集:テスト済み-私はできます;) 'から'のテーブルで抽象クラスを使用できますか?私は理解しました-上記の複雑なシナリオが機能しない場合は、順序付けやその他のものを提供する2つの抽象クラスを作成し、常に通常のサブクラスを作成して実際にいくつかの関係を構築することができます:)