1
我有一個User
模型和一個Ledger
模型與多對多的關係。 SQLAlchemy已經正確創建了我的數據庫表,所以我非常肯定它有正確的映射。我可以在每個表格中創建一個新記錄,但我無法弄清楚如何關聯它們。我該怎麼做?如何在Pylons中使用SQLAlchemy創建與assoc記錄?
我的表定義:
user_table = sa.Table('user', meta.metadata,
sa.Column('id', types.Integer,
sa.Sequence('user_seq_id', optional=True), primary_key=True),
sa.Column('username', types.Unicode(255), nullable=False, unique=True),
sa.Column('password', types.Unicode(255), nullable=False),
sa.Column('salt', types.Unicode(255), nullable=False)
)
userledger_table = sa.Table('userledger', meta.metadata,
sa.Column('id', types.Integer,
sa.Sequence('user_seq_id', optional=True), primary_key=True),
sa.Column('user_id', types.Integer(), sa.ForeignKey('user.id')),
sa.Column('ledger_id', types.Integer(), sa.ForeignKey('ledger.id')),
)
ledger_table = sa.Table('ledger', meta.metadata,
sa.Column('id', types.Integer,
sa.Sequence('ledger_seq_id', optional=True), primary_key=True),
sa.Column('name', types.Unicode(255), nullable=False),
)
映射:
orm.mapper(User, user_table);
orm.mapper(Ledger, ledger_table, properties={
'users':orm.relation(User, secondary=userledger_table)
})