从SQLAlchemy核心迁移到ORM

时间:2016-06-19 23:32:22

标签: python orm sqlalchemy

目前我们只使用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?

0 个答案:

没有答案