Python Django模型:亲戚模型应该通过ForeignKey还是ManyToMany来指代自己?

Python Django模型:亲戚模型应该通过ForeignKey还是ManyToMany来指代自己?,python,django,model-view-controller,model,Python,Django,Model View Controller,Model,我正在创建一个django应用程序,其中一个模型类,角色有亲戚,实际上是其他角色模型。但是,我不确定该如何设置。现在我正在考虑使用这样的方法: class Character(models.Model): name = models.CharField() sex = models.CharField() link = models.URLField() appearance = models.ManyToManyField(Episode, related_na

我正在创建一个django应用程序,其中一个模型类,角色有亲戚,实际上是其他角色模型。但是,我不确定该如何设置。现在我正在考虑使用这样的方法:

class Character(models.Model):
    name = models.CharField()
    sex = models.CharField()
    link = models.URLField()
    appearance = models.ManyToManyField(Episode, related_name="characters")
    relatives = models.ForeignKey('self', related_name="characters")
然而,我不确定这是否正确……也许我应该使用ManyToManyField?提姆就是一个例子。蒂姆有亲戚、鲍比、大卫和胡须。鲍比有亲戚大卫和蒂姆。大卫有亲戚鲍比和蒂姆。络腮胡子有相对的优势。另外,如果一个类的字段指向同一个类,这会是一个问题吗?谢谢

if a class's field points to the same class, will this be an issue?
这不是问题,大多数sql数据库都支持这一点。阅读更多有关自联接的信息以了解这一点

maybe I should use ManyToManyField?
是的,许多人是前进的道路,因为一个人可以有许多亲戚&他自己也可以是许多其他人的亲戚