Node 1 references a non-existing node 0 as its parent.

Try with:

n.parent_id = None

-- 
Ronan Amicel

Le 19 avr. 2011 à 16:32, Aviv Giladi <[email protected]> a écrit :

> Hey guys,
> I am playing around with SQLAlchemy (over Pylons) and encountering a
> strange problem. I am using the adjacency list relationship concept to
> represent nodes and their parents in a single table. I copied exactly
> this code from the examples:
> 
> class Node(Base):
>    __tablename__ = 'nodes'
>    id = Column(Integer, primary_key=True)
>    parent_id = Column(Integer, ForeignKey('nodes.id'))
>    data = Column(Unicode(50))
> 
>    children = relationship('Node',
>        cascade="all",
>        backref=backref("parent", remote_side='Node.id'),
>        # tried with and without this:
>        collection_class=attribute_mapped_collection('data'),
>    )
> 
> My test is basically adding two nodes, like so:
> 
> n = Node()
> n.id = 1
> n.parent_id = 0
> n.data = 'parent'
> n2 = Node()
> n2.id = 2
> n2.parent_id = 1
> n2.data = 'child'
> Session.add(n)
> Session.add(n2)
> Session.commit()
> 
> When I run my test, I get the following exception raised from
> connections.py:
> sqlalchemy.exc.IntegrityError: (IntegrityError) (1452, 'Cannot add or
> update a child row: a foreign key constraint fails (`db`.`nodes`,
> CONSTRAINT `nodes_ibfk_1` FOREIGN KEY (`parent_id`) REFERENCES `nodes`
> (`id`))') 'INSERT INTO nodes (id, parent_id, data) VALUES (%s, %s,
> %s)' (1, 0, 'parent')
> 
> Please, what am I missing here?
> 
> Thanks!
> 
> -- 
> You received this message because you are subscribed to the Google Groups 
> "pylons-discuss" 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/pylons-discuss?hl=en.
> 

-- 
You received this message because you are subscribed to the Google Groups 
"pylons-discuss" 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/pylons-discuss?hl=en.

Reply via email to