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.

Reply via email to