同じモデルへの2つの外部キーが必要です。
class Test(models.model):
example1 = models.ForeignKey(Example)
example2 = models.ForeignKey(Example)
次のようなエラーが発生します。
フィールド 'example1'のアクセサーは、関連フィールド 'Example.test_set'と競合します。 「example1」の定義にrelated_name引数を追加します。
Djangoは、いくつかのpythonマジックを使用してモデル間の関係を定義します。その一部には、関係内のモデルの名前の使用が含まれます( 'test__set'の 'test'のソースです)。おそらく、定義した外部キーごとに1回ずつ、「test__set」をサンプルモデルに2回入れようとしているのではないでしょうか。
エラーメッセージは、2つの競合する名前を自動生成する代わりに使用できるrelated_name
引数(それらの「test_set」の1つをオーバーライドする)を定義することを提案しています。
詳細 ここ :ページが削除されました
モデルの関係に関連する現在のページ: https://docs.djangoproject.com/en/2.0/ref/models/fields/#module-Django.db.models.fields.related
class Test(models.model):
example1 = models.ForeignKey('Example', related_name='example1')
example2 = models.ForeignKey('Example', related_name='example2')
エラーメッセージの指示に従ってください。意味がわからない場合は、related_name
のドキュメントをご覧ください。
Django 2.0でこれを試してください:
user = models.ForeignKey(User, on_delete=models.PROTECT, null=True, related_name='user')
paper = models.ForeignKey(paperRecord, on_delete=models.PROTECT, null=True, related_name='paper')