现在我正在这样做:
class MyTest(Base):
__tablename__ = 'mytest'
id = Column(Integer, primary_key = True)
name = Column(String(255), nullable=False)
created_at = Column(DateTime)
Base.metadata.create_all(engine)
但是在教程中,另一种方法是这样的:
user = Table('user', metadata,
Column('user_id', Integer, primary_key = True),
Column('user_name', String(16), nullable = False),
Column('email_address', String(60)),
Column('password', String(20), nullable = False)
)
我应该使用哪种方法?顺便说一句,我将使用 sqlalchemy-migrate,(我不知道这是否会改变答案)
最佳答案
如果您只想访问表中的数据并希望使用 SQLAlchemy 作为中介,那么您必须使用 TABLE
。但是,如果您想将表的每一行用作单独的对象,那么您必须使用声明性基础。
您必须使用哪种方式取决于您以及您想要如何使用 SQLAlchemy。
关于mysql - 在 SqlAlchemy 中,我应该使用经典映射还是其他方式?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/9158635/