diff --git a/relationship/composite-foreign-key.py b/relationship/composite-foreign-key.py index f86301c786599fe96b982e5fb7ceeb014f4bc95b..33c0daf04b060756b04261da2b917216050f1e88 100644 --- a/relationship/composite-foreign-key.py +++ b/relationship/composite-foreign-key.py @@ -44,7 +44,7 @@ class Project(Base): name = Column(Text) projectid = Column(Text, primary_key=True) - orgid = Column(Text, ForeignKey("org.orgid")) + orgid = Column(Text, ForeignKey("org.orgid"), primary_key=True) org = relationship("Org", back_populates="projects") @@ -86,7 +86,7 @@ class Stream(Base): def __repr__(self): return ( f"<Stream (name={self.name}, uuid={self.uuid}, " - f"projectid={self.projectid})>" + f"orgid={self.orgid}, projectid={self.projectid})>" ) @@ -99,19 +99,35 @@ if __name__ == "__main__": # cf ../basic-session.1.4.py with Session(engine) as session: o1 = Org(name="Test des clés composites") + o2 = Org(name="This ist ein beispiel") p1 = Project(name="Die straße") p1.org = o1 + p2 = Project(name="Die straße") + p2.org = o2 + s1 = Stream() s1.name = "Il faut maintenant relier le flux au project" s1.project = p1 + s2 = Stream() + s2.name = "Je manque d'inspiration" + s2.project = p2 + with session.begin(): session.add(o1) + session.add(o2) + session.add(p1) + session.add(p2) + session.add(s1) + session.add(s2) print(o1) + print(o2) print(p1) + print(p2) print(s1) + print(s2)