一連のオブジェクト間でいくつかの関係タイプのデータを保存する必要があります (それらを Person と呼びましょう)。したがって、次のようなモデルもあります。
class Person(models.Model):
name = models.CharField(max_length=64)
class Relationship(models.Model)
person1 = models.ForeignKey(Person, related_name='person1')
person2 = models.ForeignKey(Person, related_name='person2')
relationship_type = models.ChoiceField(choices=...)
information = models.TextField()
...したがって、各人物は他の人物にリンクできます。ただし、一部の関係は方向性がないため、person1 が person2 であるかどうかは関係ありません (この例では、PersonA が PersonB の「友達」であるとします)。他のタイプの関係は、順序が重要な場合に方向性があります (たとえば、PersonC は PersonD の「ボス」です)。
Djangoでこれを処理する最良の方法は何ですか?