you'd set cascade="all, delete-orphan" on the Purchase.registration side (in this case its your backref).
On May 2, 2009, at 1:42 AM, Iain Duncan wrote: > > Hi all, I have a mapper that looks like this: > > mapper( Registration, registration_table, properties={ > 'purchase': relation(Purchase, > backref=backref('registration', uselist=False), > cascade='all' ), > }) > > My registration table has a foreign key to purchases, and I want to > make > sure no registration exists without an associated purchase. I have the > referrence backwards like a many-to-one because purchases may also be > referred to in other tables ( like memberships ). Maybe this is not a > good idea, not sure. Feel free to tell me. Should this perhaps be > handled in a separate associating table with primary key with one > column > primary key constraints on it? > > But, my immediate problem is that I don't know what the correct way to > make sure I create a purchase on creation of a registration. Should > I be > creating a purchase in the registration constructor? Should I be doing > something like: > > r = Registration( purchase=Purchase() ) > > Or should it work magically if I set up my cascade options > differently? > > Thanks > Iain > > > > > --~--~---------~--~----~------------~-------~--~----~ 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 -~----------~----~----~----~------~----~------~--~---