On Jun 5, 2007, at 6:39 AM, lingo wrote:
>
> I'm using Sqlalchemy with PostgreSQL in a project.
>
> Some of the relations (foreign keys) in the database (postgresql) have
> ON_DELETE=RESTRICT which should prevent parent objects with existing
> child objects from being deleted (tested, works in pg client).
ON_DELETE=RESTRICT is the virtually the same as the default setting
of "NO ACTION" in Postgres. SQLAlchemy's ORM organizes SQL
operations according to foreign key dependency and no errors should
occur.
>
> An example of my current mappings:
> Child_table = sa.Table('Child', metadata, autoload=True)
> Parent_table = sa.Table('Parent', metadata, autoload=True)
>
> orm.mapper(Parent,Parent_table, properties={
> 'Children' :
> relation(Child,primaryjoin=Parent_table.c.id==Child_table.c.parent_id,
> backref=backref("Parent", remote_side=[Parent_table.c.id]))
> }
> )
I notice you are specifying primary join conditions manually. these
should pick up automatically based on the foreign keys present in
child/parent table. is it possible that the foreign keys are not
being detected in the autoload=True operation ? try spelling out the
tables manually not using autoload=True.
--~--~---------~--~----~------------~-------~--~----~
You received this message because you are subscribed to the Google Groups
"sqlalchemy" group.
To post to this group, send email to [email protected]
To unsubscribe from this group, send email to [EMAIL PROTECTED]
For more options, visit this group at
http://groups.google.com/group/sqlalchemy?hl=en
-~----------~----~----~----~------~----~------~--~---