Hi,
  Thanks for the response. I'm still fairly new to SA but am very
impressed with this package!

I tried a variety of combinations of mappings. If I use just the
parent_id,parent it would seem to make sense logically if my children
only have one parent.

The tables generate fine. But when I try to set the parent of a child at
runtime it throws an exception about Conversion not being a list or
collection or something. So I was experimenting with the M2M, and as you
see, its not right.

Logically, the self referring parent should be enough I would think. Is
there another way using Base without having to use another mapping
technique since all my other classes are Base derived?

Thank you.

On Fri, 2009-01-09 at 20:17 -0500, Michael Bayer wrote:
> 
> On Jan 9, 2009, at 7:42 PM, project2501 wrote:
> 
> >
> > Hi,
> >  I'm trying to create a mapped class that allows parent/child
> > relation of itself. I've spent the last 3 hours searching and reading
> > the other posts on this, but can't get anything to work.
> >
> > I'm on 0.5rc4 and just want to declare this in a mapped class as such:
> >
> > class Conversion(Base):
> >    __tablename__ = 'conversion'
> >
> >    id = Column(Integer, primary_key=True)
> >    name = Column(String(20))
> >
> >    parent_id = Column(Integer, ForeignKey('conversion.id'))
> >    parent = relation("Conversion", backref="child")
> >
> >    children = relation('Conversion', secondary=conversion_conversion,
> > backref='parents')
> >
> > I was hoping to use the same style many-to-many declarations I do
> > elsewhere. It creates fine, but doesn't work when adding objects.
> 
> The many-to-many is possible but is not really necessary for the  
> typical self-referential mapping.  It depends on if you'd like a  
> single object to have many parents.  However in your example above, it  
> appears you are creating two separate self-referring bidirectional  
> relationships, "parent/child" (which is also misconfigured, the many- 
> to-one side needs a remote_side argument) and "parents/children".    
> This would create two entirely isolated methods of associating one  
> Conversion object with another - there's no link between parent/child  
> and parents/children.  Is this the desired effect ?
> 
> 
> > 


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