人际关系建模

2024-04-25 10:07:42 发布

您现在位置:Python中文网/ 问答频道 /正文

我正在寻找定义两个人之间关系并在SQLAlchemy中进行查询的最佳方法。我很难理解这件事。这里是我到目前为止,但我不知道我是否应该使用像这样的链接表模型。建议?你知道吗

character_a=studentcharacter_b=teacher

[[relationship.character_b, relationship.character_b.role] for relationship in character.relationships]获取相关字符及其角色的列表。你知道吗

class Character(db.Model):
    __tablename__ = 'characters'
    story_id = db.Column(db.String, db.ForeignKey('stories.id'))
    id = db.Column(db.Integer(), primary_key=True)
    name = db.Column(db.String(50))
    gender = db.Column(db.String(6))
    description = db.Column(db.Text())
    relationships = db.relationship('Relationship', backref='character', lazy='dynamic')

class Relationship(db.Model):
    __tablename__ = 'relationships'
    character_a_id = db.Column(db.String, db.ForeignKey('characters.id'))
    character_b_id = db.Column(db.String, db.ForeignKey('characters.id'))
    character_a_role = db.Column(db.String(25))
    character_b_role = db.Column(db.String(25))

Tags: iddbstringmodel定义columnclassrole
1条回答
网友
1楼 · 发布于 2024-04-25 10:07:42

数据库模式很难第一次就正确。我建议您遵循Peter Norvig的建议-用英语编写测试用例,用代码对它们进行建模(假设它们存在于数据库中,则使用关系),这样您就会发现当前设计的缺点。然后,您可以细化关系,完成后,您的代码必须像用英语编写的用例一样可读。你知道吗

相关问题 更多 >