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