目前我们只使用SQLAlchemy核心,因此所有表都是使用Table定义的。现在,我们希望逐步将现有表移植到ORM,并让新表从头开始使用ORM。
举个例子,说我们现在有
Users = Table(
'users', # Table name
metadata,
Column('id', String, primary_key=True),
Column('name', String),
Column('email_address', String),
)
我们想要使用ORM添加帖子表,例如
class Posts(Base):
__tablename__ = 'posts'
id = Column(Integer, primary_key=True)
contents = Column(String(300))
如何更新Users表以反映用户可以拥有多个帖子的事实?预期的最终目标是拥有像
这样的东西Users = Table(
'users', # Table name
metadata,
Column('id', String, primary_key=True),
Column('name', String),
Column('email_address', String),
# How to express the equivalent of this ?
posts = relationship("Posts", back_populates="submitter")
)
class Posts(Base):
__tablename__ = 'posts'
id = Column(Integer, primary_key=True)
contents = Column(String)
submitter = relationship("Users", back_populates="posts")
有可能这样做吗?或者在执行此类操作之前,我是否必须将Users表转换为ORM?