Hi everybody,
I'm using SQLAlchemy for the first time, and everything worked as a
charm until I got stuck with a double join.
That's the expression I'm trying to perform to get a list of the
linked articles from a given article, (knowing its title):
SELECT a2.id,a2.title
FROM articles a1 JOIN links l
ON a1.id = l.id_parent
JOIN articles a2 ON a2.id = l.id_child
WHERE a1.title = 'Alabama'
I have defined the two classes declaratively as follows:
class Article(Base):
__tablename__ = 'articles'
id = Column(Integer, primary_key=True)
title = Column(Unicode, nullable=False)
class Link(Base):
__tablename__ = 'links'
id_parent = Column(Integer, ForeignKey("articles.id"),
primary_key=True)
id_child = Column(Integer, ForeignKey("articles.id"),
primary_key=True)
But when I try to execute the following code:
links = session.query(Article).join((Link,Article.id ==
Link.id_parent)).join((Article,Article.id == Link.id_child)).all()
fails with the following error:
(ProgrammingError) table name "articles" specified more than once
I don't know if the problem it's in the model definition or in the
query code, so any help will be greatly appreciated.
Thanks,
--
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.