ForeignKey 概念是否违反了 SRP?

Is ForeignKey concept a violation of SRP?

我想用 Django 示例说明我的问题的一般性质:

class Person(models.Model):
    team = models.ForeignKey(Team, related_name='member', on_delete=models.CASCADE)

class Team(models.Model):
    pass

此处的目标是创建一种关系,表示 一个人可以与一个且仅一个团队相关联

但是,Person 实体知道 Team 实体,反之亦然,这不会违反 SRP 吗?

我宁愿写类似

的东西
class Person(models.Model):
    pass

class Team(models.Model):
    members = models.OneToMany(Person, related_name='team', on_delete=models.CASCADE)

因此,每当引入新的 Entity-to-Person 关系时(或者,现有关系消失),都无需更新 Person 模型。

对象之间的关联不定义职责。显然,您不想将不相关的对象关联到给定的实体,但这更多的是关于良好的设计而不是关于职责的事情。

责任更多地与行为联系在一起。也就是说,您不希望 table 试图管理团队,但分配了 团队负责人 角色的团队成员应该能够管理团队。所以团队领导管理团队成员和他们的需求,而 团队领导 不能同时定义如何支付团队成员的薪水。

顺便说一句,这可能取决于您真正使用什么范例和模式来实现您的解决方案。如果您将实体实现为 active records. Otherwise, most functionalities will go into a service layer.

,我会担心 行为