sqlalchemy中定义表关系,我的总结,有哪些错误?

  • 一对一

1 使用外键即可? 不知道写, 即便看了文档

class One2(Base):
    one1_id = Column("one1_id", ForeignKey("One1")
  • 一对多

2 怎么写, One方还要做什么
class One(Base):
    
class Many(Base):
    one = relationship("One", backref="many")
  • 多对一

一对多的反面
  • 多对多

many_to_many = Table( "many_to_many", Base.metadata, 
                                        Column("many_1_id", ForeignKey("many_1.id"), primary_key=True),
                                        Column("many_2_id", ForeignKey("many_2.id"), primary_key=True)  )
class Many1(Base):
    many2 = relationship("Many2", 
                                        secondary =many_to_many,
                                        backref="many1"  )

class Many2(Base):
    many1 = relationship("Many1", 
                                        secondary=many_to_many,
                                        backref="many2"  )

问题:

  1. 标记在代码中了, 可拷贝代码回复

:)

阅读 1.6k
撰写回答
你尚未登录,登录后可以
  • 和开发者交流问题的细节
  • 关注并接收问题和回答的更新提醒
  • 参与内容的编辑和改进,让解决方法与时俱进