Hi Michael, I've switch my definition to the following:
class PublicationElement(Entity): using_options(tablename='publication') sections = OneToMany('SectionElement') covers = OneToMany('PublicationCoverElement') publication_id = Field(Integer, primary_key=True) name = Field(Unicode(255)) short_name = Field(Unicode(30)) app_download_link = Field(UnicodeText) class SectionElement(Entity): using_options(tablename='section') publication = ManyToOne('PublicationElement', colname="publication_id", cascade='all, delete-orphan') feedDetails = OneToOne('FeedDetailsElement', inverse='SectionElement') defaultSections = OneToOne('DefaultSectionElement', inverse='SectionElement') section_id = Field(Integer, primary_key=True) name = Field(Unicode(255)) articles_on_cover = Field(Integer) articles_on_sub_cover = Field(Integer) ad_on_top = Field(Boolean) ad_on_bottom = Field(Boolean) poll_rate_minutes = Field(Integer) poll_weight = Field(Integer) show_sub_cover = Field(Boolean) However, nothing seems to change, the rows into my sections table of my database get their publication_id key set to 0, yet again no entry gets removed from the database... Harish > Thanks for the hint, but however, no success with this solution... :( What would be the next step in order to figure out what is happening ? Just to confirm, my Publication element is safely removed from the database, every time. Thanks again, in advance On Aug 26, 11:35 pm, Michael Bayer <[EMAIL PROTECTED]> wrote: > On Aug 26, 2008, at 6:08 PM, Alex Mathieu wrote: > > > > > Let's say I have two classes: > > > class PublicationElement(Entity): > > using_options(tablename='publication') > > sections = OneToMany('SectionElement') > > covers = OneToMany('PublicationCoverElement') > > publication_id = Field(Integer, primary_key=True) > > name = Field(Unicode(255)) > > short_name = Field(Unicode(30)) > > app_download_link = Field(UnicodeText) > > > class SectionElement(Entity): > > using_options(tablename='section') > > publication = ManyToOne('PublicationElement', > > colname="publication_id", cascade="all,delete-orphan") > > section_id = Field(Integer, primary_key=True) > > name = Field(Unicode(255)) > > articles_on_cover = Field(Integer) > > articles_on_sub_cover = Field(Integer) > > ad_on_top = Field(Boolean) > > ad_on_bottom = Field(Boolean) > > poll_rate_minutes = Field(Integer) > > poll_weight = Field(Integer) > > show_sub_cover = Field(Boolean) > > > If I delete a PublicationElement entity, all the related > > SectionElement entities get their publication_id key set to 0... and I > > just can't figure it out why. I've been digging through the web, but > > wasn't able any answer... Maybe I putted my cascade argument at the > > wrong place ? Not sure to get it... > > this mapping suggests that the deletion of a SectionElement will cause > the deletion of a related PublicationElement, but not the other way > around. The cascade would have to be moved to the > "PublicationElement.sections" side of the relation. Im not sure > where the "0" is coming from, SQLAlchemy will normally set foreign key > references to NULL if no row is related. --~--~---------~--~----~------------~-------~--~----~ 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 [EMAIL PROTECTED] For more options, visit this group at http://groups.google.com/group/sqlalchemy?hl=en -~----------~----~----~----~------~----~------~--~---