yeah always send us the error message with these since otherwise we have to
replicate it , as this mapping looks entirely fine. it asks for a primaryjoin,
and additionally the "id" column, until 0.7.0 is released where this has been
fixed, is in terms of Node not Department so you have to rename it:
class Department(Node):
__tablename__ = 'department'
__mapper_args__ = {'polymorphic_identity': 'department'}
dept_id = Column("id", Integer, ForeignKey('node.id'), primary_key=True)
description = Column(Text)
parent_department_id = Column(Integer,ForeignKey('department.id'))
parent_department = relationship("Department",
backref=backref("subdepartments"),
primaryjoin=dept_id==parent_department_id,
remote_side=dept_id)
On Jan 23, 2011, at 8:55 PM, Michael Naber wrote:
> I'm still having trouble getting an adjacency list relationship to
> work within a child class (Department class in this example), and am
> hoping someone might offer some insight:
>
> class Node(Base):
> __tablename__ = 'node'
> id = Column(Integer, primary_key=True)
> name = Column(String(100))
> discriminator = Column('discriminator', String(50))
>
> class Department(Node):
> __tablename__ = 'department'
> __mapper_args__ = {'polymorphic_identity': 'department'}
> id = Column(Integer, ForeignKey('node.id'), primary_key=True)
> description = Column(Text)
> parent_department_id = Column(Integer,
> ForeignKey('department.id'))
> parent_department = relationship("Department",
>
> backref=backref("subdepartments"),
> remote_side=id)
>
> Thanks,
> Michael Naber
>
> --
> 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.
>
--
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.