Could you show the whole model and table definition? I've lost track
of exactly what you've written.

Thanks,

Simon

On Wed, Sep 24, 2014 at 11:15 AM, Mohammad Reza Kamalifard
<mr.kamalif...@gmail.com> wrote:
> thanks Mike
> with new to_contacts relationship i have new error
> ArgumentError: Could not locate any relevant foreign key columns for primary
> join condition 'contact.id = :param_1' on relationship Contact.to_contacts.
> Ensure that referencing columns are associated with a ForeignKey or
> ForeignKeyConstraint, or are annotated in the join condition with the
> foreign() annotation.
>
> On Wed, Sep 24, 2014 at 5:49 AM, Michael Bayer <mike...@zzzcomputing.com>
> wrote:
>>
>> to_contacts = db.relationship('Contact',
>>            secondary='contactrelation',
>>            primaryjoin='id== ContactRelation.from_contact_id',
>>            secondaryjoin='id== ContactRelation.to_contact_id',
>>
>> or
>>
>> to_contacts = db.relationship('Contact',
>>            secondary=contactrelation,
>>            primaryjoin=id== contactrelation.c.from_contact_id,
>>            secondaryjoin=id== contactrelation.c.to_contact_id,
>>
>> see examples:
>>
>>
>> http://docs.sqlalchemy.org/en/rel_0_9/orm/relationships.html#self-referential-many-to-many-relationship
>>
>>
>>
>>
>> On Sep 23, 2014, at 5:26 PM, Mohammad Reza Kamalifard
>> <mr.kamalif...@gmail.com> wrote:
>>
>> Using contactrelation.from_contact_id ?
>> I have AttributeError: 'Table' object has no attribute 'from_contact_id'
>> Error.
>>
>> On Tue, Sep 23, 2014 at 4:48 PM, Michael Bayer <mike...@zzzcomputing.com>
>> wrote:
>> >
>> > table name, not class name, please see
>> > http://docs.sqlalchemy.org/en/rel_0_9/orm/extensions/declarative.html#declarative-many-to-many
>> >
>> >
>> > On Sep 23, 2014, at 8:33 AM, Mohammad Reza Kamalifard
>> > <mr.kamalif...@gmail.com> wrote:
>> >
>> > In my application with SQLAlchemy i need to create many to many
>> > relationship between two contact object also sotre data for each of
>> > relatioship here is my Contact model
>> >
>> > class Contact(db.Model):
>> >     __tablename__ = 'contact'
>> >     id = db.Column(db.Integer, primary_key=True)
>> >     name = db.Column(db.Unicode(120), nullable=False, unique=False)
>> >     user_id = db.Column(db.Integer, db.ForeignKey('user.id'))
>> >
>> >     to_contacts = db.relationship('Contact',
>> >                                   secondary='ContactRelation',
>> >                                   primaryjoin='id==
>> > ContactRelation.from_contact_id',
>> >                                   secondaryjoin='id==
>> > ContactRelation.to_contact_id',
>> >
>> >                                   backref='from_contacts')
>> >
>> >
>> > and my association class ContactRelation:
>> >
>> > class ContactRelation(db.Model):
>> >     __tablename__ = 'contactrelation'
>> >     id = db.Column(db.Integer, primary_key=True)
>> >     from_contact_id = db.Column(db.Integer, db.ForeignKey('contact.id'))
>> >     to_contact_id = db.Column(db.Integer, db.ForeignKey('contact.id'))
>> >     relation_type = db.Column(db.String(100), nullable=True)
>> >
>> > every thing seems good but i have error :
>> > AttributeError: type object 'ContactRelation' has no attribute 'c'
>> >
>> >
>> >
>> >
>> > --
>> > 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 a topic in the
>> > Google Groups "sqlalchemy" group.
>> > To unsubscribe from this topic, visit
>> > https://groups.google.com/d/topic/sqlalchemy/OeLrx74p5vY/unsubscribe.
>> > To unsubscribe from this group and all its topics, 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.
>>
>>
>> --
>> You received this message because you are subscribed to a topic in the
>> Google Groups "sqlalchemy" group.
>> To unsubscribe from this topic, visit
>> https://groups.google.com/d/topic/sqlalchemy/OeLrx74p5vY/unsubscribe.
>> To unsubscribe from this group and all its topics, 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.

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