2012-02-06 53 views
0

現在我這樣做:在SqlAlchemy中,我應該使用經典映射還是其他方式?

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,(我不知道這是否會改變答案)

回答

1

如果你只想訪問表中的數據並希望使用SQLAlchemy作爲中介,那麼你必須使用TABLE。但是,如果你想使用表格的每一行作爲單獨的對象,那麼你必須使用聲明性基礎。

您必須使用哪種方式取決於您以及您希望如何使用SQLAlchemy。

相關問題