我需要在一组对象之间存储一些关系类型数据(我们称它们为人的)。所以,一些模型是这样的:
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 中处理这个问题的最佳方法是什么?