Wouldn't he need to configure the "ondelete" cascade for even
"session.delete(session.query(User).get('testname'))"  to work that
way?

I know why the cascade is necessary for session.query(User).delete()
to also delete the associated IP instances.  But I don't quite get why
it's not necessary for that other method of deleting the user to
delete the associated IPs.


On Feb 25, 7:17 am, Michael Bayer <mike...@zzzcomputing.com> wrote:
> On Feb 25, 2011, at 7:31 AM, Chris Withers wrote:
>
>
>
> > Hi All,
>
> > I have the following models:
>
> > class IP(Base):
> >    __tablename__ = 'ip'
> >    username = Column(String(50),
> >                      ForeignKey('user.username'),
> >                      primary_key=True)
> >    ip = Column(String(15), primary_key=True, index=True)
>
> > class User(Base):
> >    __tablename__ = 'user'
> >    username = Column(String(50), primary_key=True)
> >    ips = relation("IP",
> >                   order_by="IP.ip",
> >                   backref="user",
> >                   cascade="all")
>
> > If I delete a user as follows:
>
> > session.delete(session.query(User).get('testname'))
>
> > ...then the IPs associated with 'testname' get deleted.
>
> > However, if I do:
>
> > session.query(User).delete()
>
> > ..they do not.
>
> > Why is that?
> > How do I get them both to work?
>
> you would need to configure "ON DELETE CASCADE" on the foreign key.  
> ForeignKey() offers the "ondelete" option for this.
>
>
>
> > cheers,
>
> > Chris
>
> > --
> > Simplistix - Content Management, Batch Processing & Python Consulting
> >           -http://www.simplistix.co.uk
>
> > --
> > 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 
> > athttp://groups.google.com/group/sqlalchemy?hl=en.

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