Hello,

I have a many-to-many relation between an option table and a site table.

Deleting an option correctly deletes the related rows in 
"options_has_sites" table.

But when I delete a site, I have some orphan rows in the 
"options_has_sites" table. How can I avoid this ?


# SITE TABLE -----------
site_table = Table('sites', meta,
     Column('id', Integer, primary_key=True),
     Column('name', Unicode(20), nullable=False, unique=True),
)

class Site(object):
     pass

site_mapper = assign_mapper(ctx, Site, site_table,
     order_by=site_table.c.name,
)


# OPTION TABLE ------------
option_table = Table('options', meta,
     Column('id', Integer, primary_key=True),
     Column('name', Unicode(20), unique=True, nullable=False),
)

options_has_sites = Table('sites_has_options', meta,
     Column('id_site', None, ForeignKey('sites.id'), primary_key=True),
     Column('id_option', None, ForeignKey('options.id'), primary_key=True),
)

class Option(object):
     pass

option_mapper = assign_mapper(ctx, Option, option_table,
     properties={
         'sites':relation(Site, backref="options", 
secondary=options_has_sites, cascade="save-update"),
     },
     order_by=option_table.c.name,
)


Should I play with backref() ?

Regards,
-- 
Alexandre CONRAD


--~--~---------~--~----~------------~-------~--~----~
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
-~----------~----~----~----~------~----~------~--~---

Reply via email to