try :

m = mapper(MyJoin, a_table.join(b_table), properties={
    'a_id' : [Table_a.__table__.c.id, Table_b.__table__.c.a_id]
    })

from:
http://www.sqlalchemy.org/docs/05/mappers.html#mapping-a-class-against-multiple-tables

On May 5, 11:46 am, Alessandro Dentella <san...@e-den.it> wrote:
> Hi,
>
>   how should I configure a mapper that represents a join between two tables
>   so that inserting a new object writes the foreign key between the two in
>   the proper way?
>
>       class Table_a(Base):
>           __tablename__ = 'a'
>           id = Column(Integer, primary_key=True)
>           description = Column(String(100))
>
>       class Table_b(Base):
>           __tablename__ = 'b'
>
>           idb = Column(Integer, primary_key=True)
>           a_id = Column(ForeignKey(Table_a.id), nullable=False)
>
>       a_table = Table_a.__table__
>       b_table = Table_b.__table__
>
>       class MyJoin(object): pass
>
>       m = mapper(MyJoin, a_table.join(b_table))
>
>       j = MyJoin()
>       j.description = 'xxx'
>
>       sess.add(j)
>
>       Base.metadata.bind.echo = True
>       sess.commit()
>
> 2009-05-05 12:41:52,346 INFO sqlalchemy.engine.base.Engine.0x...7acL BEGIN
> 2009-05-05 12:41:52,347 INFO sqlalchemy.engine.base.Engine.0x...7acL INSERT 
> INTO a (description) VALUES (?)
> 2009-05-05 12:41:52,347 INFO sqlalchemy.engine.base.Engine.0x...7acL ['xxx']
> 2009-05-05 12:41:52,348 INFO sqlalchemy.engine.base.Engine.0x...7acL INSERT 
> INTO b (a_id) VALUES (?)
> 2009-05-05 12:41:52,348 INFO sqlalchemy.engine.base.Engine.0x...7acL [None]
> 2009-05-05 12:41:52,348 INFO sqlalchemy.engine.base.Engine.0x...7acL ROLLBACK
>
>     Is it possible to prepare the mapper so that a_id gets the value that
>     the first object got as id?
>
> thanks
> sandro
> *:-)
--~--~---------~--~----~------------~-------~--~----~
You received this message because you are subscribed to the Google Groups 
"sqlalchemy" group.
To post to this group, send email to sqlalchemy@googlegroups.com
To unsubscribe from this group, send email to 
sqlalchemy+unsubscr...@googlegroups.com
For more options, visit this group at 
http://groups.google.com/group/sqlalchemy?hl=en
-~----------~----~----~----~------~----~------~--~---

Reply via email to