Hi,

maxi wrote:
> Hi,
>
> I´ve just using sqlalchemy 0.5.1 with python 2.6 and turbogers, but I
> found a little problem trying to configurate adjacency relationship
> with declarative base.
>
>
> My object class is something like this:
>
> class QueryGroup(DeclarativeBase):
>     __tablename__ = 'queries_group'
>
>     qry_grp_id = Column(Smallinteger, primary_key=True)
>     qry_grp_desc = Column(Unicode(20), nullable=False)
>     parent_id = relation('QueryGroup', backref='parent')
>
> When I try to generate my tables, I get an error like this:
>
> sqlalchemy.exc.ArgumentError: Could not determine join condition
> between parent/
> child tables on relation QueryGroup.parent_id.  Specify a
> 'primaryjoin' expressi
> on.  If this is a many-to-many relation, 'secondaryjoin' is needed as
> well.
>
> How can I specify the correct statement?
>
> Using traditional mapper approach, I can do:
>
> queries_group = Table(...)
>
> mapper(QueryGroup, queries_group, properties={
>     'children': relation(QueryGroup, cascade="all",
>                             backref=backref("parent", remote_side=
> [queries_group.c.qry_grp_id]))
>     }
> )
>
>
> Can I do the same using declarative style? How?
>   
I use declarative like this to do the above.

class Lang(Base):
    __table__ = sa.Table(u'lang', metadata,
    sa.Column(u'id', sa.Integer(), sa.Sequence('gen_lang_id'), 
primary_key=True, nullable=False),
    sa.Column(u'lang', sa.String(length=5, convert_unicode=False)),
    )


class Users(Base):
    __table__ = sa.Table(u'users', metadata,
    sa.Column(u'id', sa.Integer(), sa.Sequence('gen_users_id'), 
primary_key=True, nullable=False),
    sa.Column(u'name', sa.String(length=20, convert_unicode=False)),
    sa.Column(u'fk_lang', sa.Integer(), sa.ForeignKey(u'lang.id')),
    )
   
    lang = sao.relation(Lang)

could also be:
    lang = sao.relation(Lang, backref='users')

Werner

> Thanks in advance.
> ---
> Maxi.
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
> >
>
>   


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