我正在创建一个django应用程序,其中模型类Character有亲戚,实际上是其他Character模型。但是,我不确定应该如何设置它。现在我正在考虑使用这样的东西:
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?
是的,Manytomany是前进的道路,因为一个人可以有很多亲戚,他自己也可以是许多其他人的亲戚。