Как запросить атрибут (ы) из таблицы ассоциации (SQLalchemy) - PullRequest
0 голосов
/ 14 сентября 2018

У меня есть отношение самообращения к ассоциации, и я пытаюсь выяснить, как получить связанный атрибут (ы) из таблицы ассоциации.

enter image description here

Это код модели (основан на данном сообщении ):

class Contact(db.Model):
__tablename__ = 'contact'
id = db.Column(db.Integer, primary_key=True)
name = db.Column(db.Unicode(120), nullable=False, unique=False)
to_contacts = association_proxy('to_relations', 'to_contact')
from_contacts = association_proxy('from_relations', 'from_contact')

def __repr__(self):
    return "User(%r)" % self.name

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)

from_contact = db.relationship(Contact,
                               primaryjoin=(from_contact_id == Contact.id),
                               backref='to_relations')
to_contact = db.relationship(Contact,
                             primaryjoin=(to_contact_id == Contact.id),
                             backref='from_relations')

Чего я пытаюсь достичь Я хочу запросить контакт и получить контакты, связанные с ним.Эта часть работает.Но я также хочу получить между ними тип_отношения.

Я предполагал, что возвращаемый объект Контакт будет содержать тип_отношения, но это не так.

Как запросить такие атрибуты для контактаобъект из таблицы ассоциации?

...