Python 如何在挂架中使用SQLAlchemy创建assoc记录?
我有一个Python 如何在挂架中使用SQLAlchemy创建assoc记录?,python,sqlalchemy,pylons,Python,Sqlalchemy,Pylons,我有一个用户模型和一个具有多对多关系的分类账模型。SQLAlchemy已经正确地创建了我的数据库表,所以我非常确定它具有正确的映射。我可以在每个表中创建一个新记录,但我不知道如何关联它们。我该怎么做 我的表格定义: user_table = sa.Table('user', meta.metadata, sa.Column('id', types.Integer, sa.Sequence('user_seq_id', optional=True), primary_ke
用户
模型和一个具有多对多关系的分类账
模型。SQLAlchemy已经正确地创建了我的数据库表,所以我非常确定它具有正确的映射。我可以在每个表中创建一个新记录,但我不知道如何关联它们。我该怎么做
我的表格定义:
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)
})
我在信中找到了答案
ledger = model.Ledger()
ledger.name = name
ledger.users.append(user)
meta.Session.add(ledger)
meta.Session.commit()