Julien Cigar <jci...@ulb.ac.be> wrote:

> On Thu, Feb 19, 2015 at 11:31:10AM -0500, Michael Bayer wrote:
>> Julien Cigar <jci...@ulb.ac.be> wrote:
>> 
>>> On Thu, Feb 19, 2015 at 02:45:43PM +0100, Julien Cigar wrote:
>>>> Hello,
>>>> 
>>>> I'm using SQLAlchemy 0.9.8 with PostgreSQL and the reflection feature of
>>>> SQLAlchemy.
>>>> 
>>>> I have the following tables (only relevant parts are show):
>>>> https://gist.github.com/silenius/390bb9937490730741f2
>>>> 
>>>> and the "problematic" mapper is the one of my association object:
>>>> https://gist.github.com/silenius/1559a7db65ed30a1b079
>>>> 
>>>> SQLAlchemy complains with the following error:
>>>> "sqlalchemy.exc.InvalidRequestError: One or more mappers failed to
>>>> initialize - can't proceed with initialization of other mappers.
>>>> Original exception was: Could not locate any simple equality expressions
>>>> involving locally mapped foreign key columns for primary join condition
>>>> 'pool_invite_result.pool_invite_pool_id = pool_invite.pool_id AND
>>>> pool_invite.pool_id = pool.id' on relationship PoolAccountResult.pool.
>>>> Ensure that referencing columns are associated with a ForeignKey or
>>>> ForeignKeyConstraint, or are annotated in the join condition with the
>>>> foreign() annotation. To allow comparison operators other than '==', the
>>>> relationship can be marked as viewonly=True."
>>>> 
>>>> The problem is that in the PoolAccountResult mapper I want a
>>>> relationship to the Pool but the link is made through an intermediate
>>>> table (pool_invite) ..
>>>> 
>>>> Any idea how to handle this with SQLAlchemy ?
>>>> 
>>>> Thanks :)
>>>> 
>>>> Julien
>>> 
>>> ... and I'm answering to myself: it seems to work with
>>> https://gist.github.com/silenius/e7e59c96a7277fb5879f 
>>> 
>>> does it sound right ?
>> 
>> Sure.  Also, you could use automap which does figure these out in simple 
>> cases: http://docs.sqlalchemy.org/en/rel_0_9/orm/extensions/automap.html
> 
> always with this, any idea why SQLAlchemy inserts NULL and
> NULL for my two relationship (line 51-79) instead of the pool_obj and
> dup.owner ids (line 89-90), https://dpaste.de/1Trz ..?

getting a 404 on that link.





> 
> Thanks,
> Julien
> 
> 
>>>> -- 
>>>> Julien Cigar
>>>> Belgian Biodiversity Platform (http://www.biodiversity.be)
>>>> PGP fingerprint: EEF9 F697 4B68 D275 7B11  6A25 B2BB 3710 A204 23C0
>>>> No trees were killed in the creation of this message.
>>>> However, many electrons were terribly inconvenienced.
>>>> 
>>>> -- 
>>>> You received this message because you are subscribed to the Google Groups 
>>>> "sqlalchemy" group.
>>>> To unsubscribe from this group and stop receiving emails from it, send an 
>>>> email to sqlalchemy+unsubscr...@googlegroups.com.
>>>> To post to this group, send email to sqlalchemy@googlegroups.com.
>>>> Visit this group at http://groups.google.com/group/sqlalchemy.
>>>> For more options, visit https://groups.google.com/d/optout.
>>> 
>>> 
>>> 
>>> -- 
>>> Julien Cigar
>>> Belgian Biodiversity Platform (http://www.biodiversity.be)
>>> PGP fingerprint: EEF9 F697 4B68 D275 7B11  6A25 B2BB 3710 A204 23C0
>>> No trees were killed in the creation of this message.
>>> However, many electrons were terribly inconvenienced.
>>> 
>>> -- 
>>> You received this message because you are subscribed to the Google Groups 
>>> "sqlalchemy" group.
>>> To unsubscribe from this group and stop receiving emails from it, send an 
>>> email to sqlalchemy+unsubscr...@googlegroups.com.
>>> To post to this group, send email to sqlalchemy@googlegroups.com.
>>> Visit this group at http://groups.google.com/group/sqlalchemy.
>>> For more options, visit https://groups.google.com/d/optout.
>> 
>> -- 
>> You received this message because you are subscribed to the Google Groups 
>> "sqlalchemy" group.
>> To unsubscribe from this group and stop receiving emails from it, send an 
>> email to sqlalchemy+unsubscr...@googlegroups.com.
>> To post to this group, send email to sqlalchemy@googlegroups.com.
>> Visit this group at http://groups.google.com/group/sqlalchemy.
>> For more options, visit https://groups.google.com/d/optout.
> 
> -- 
> Julien Cigar
> Belgian Biodiversity Platform (http://www.biodiversity.be)
> PGP fingerprint: EEF9 F697 4B68 D275 7B11  6A25 B2BB 3710 A204 23C0
> No trees were killed in the creation of this message.
> However, many electrons were terribly inconvenienced.
> 
> -- 
> You received this message because you are subscribed to the Google Groups 
> "sqlalchemy" group.
> To unsubscribe from this group and stop receiving emails from it, send an 
> email to sqlalchemy+unsubscr...@googlegroups.com.
> To post to this group, send email to sqlalchemy@googlegroups.com.
> Visit this group at http://groups.google.com/group/sqlalchemy.
> For more options, visit https://groups.google.com/d/optout.

-- 
You received this message because you are subscribed to the Google Groups 
"sqlalchemy" group.
To unsubscribe from this group and stop receiving emails from it, send an email 
to sqlalchemy+unsubscr...@googlegroups.com.
To post to this group, send email to sqlalchemy@googlegroups.com.
Visit this group at http://groups.google.com/group/sqlalchemy.
For more options, visit https://groups.google.com/d/optout.

Reply via email to