#転載元ブログ情報
自分のブログからの転載です
http://k-mawa.hateblo.jp/entry/2018/02/22/183711
#同一Modelから2個ForeignKeyをひとつのModelに張りたいとき
時々あります(よね?!^^) 例えば下記のようなSNSでフォロワー・フォロー関係のモデルを作りたい時。フォローする人もユーザーモデルオブジェクトだし、フォローされる人も同じユーザーモデルになるわけです。
models.py
class Follower(models.Model):
follow_user = models.ForeignKey(User, on_delete=models.SET_NULL)
followed_user = models.ForeignKey(User, on_delete=models.SET_NULL)
これをそのままmakemigrations→migrateしようとするとエラーになります。
#解決策
エラー時にヒントが英文で出ているのですが、related_nameを使えばOK フィールドごとに競合せずにDBに登録されるようです^^
models.py
class Follower(models.Model):
follow_user = models.ForeignKey(User, on_delete=models.SET_NULL, related_name='follow_user')
followed_user = models.ForeignKey(User, on_delete=models.SET_NULL, related_name='followed_user')