私は2つの一般的な(content_type)参照の間にマッピングテーブルを作成しようとしています。一つは "エージェント"、もう一つは "リソース"です。djangoモデルには2つの汎用(content_type)外部キーがありますか?
だから、私は、一般的な外部キーを作る通常の方法取る:
content_type = models.ForeignKey(ContentType)
object_id = models.PositiveIntegerField()
resource = generic.GenericForeignKey('content_type', 'object_id')
をそして、私は2つでモデルを作成してみてください。
agent_content_type = models.ForeignKey(ContentType)
agent_object_id = models.PositiveIntegerField()
agent = generic.GenericForeignKey('agent_content_type', 'agent_object_id')
resource_content_type = models.ForeignKey(ContentType)
resource_object_id = models.PositiveIntegerField()
resource = generic.GenericForeignKey('resource_content_type', 'resource_object_id')
は、しかし、これは今、次のエラーをスローします。
myapp.mymodel:アクセサのためのフィールド 関連分野 'ContentType.mymodel_set' と 'resource_content_type' 衝突。 related_name引数を 'resource_content_type'の 定義に追加します。
そしてエージェントに似ています。
ここでは何が起こっていますか?そして私はどうしたらいいですか? related_name引数を追加 -
歓声
フィル
ありがとうございます。しかし、私は誰かが理由を説明できることを望んでいた。なぜなら、2つの一般的な外部キーがあるにもかかわらず、1つではないにもかかわらず、あいまいさがなぜ現れるのですか – interstar
説明を追加するために編集されます。 –