У меня есть отношение самообращения к ассоциации, и я пытаюсь выяснить, как получить связанный атрибут (ы) из таблицы ассоциации.
Это код модели (основан на данном сообщении ):
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')
Чего я пытаюсь достичь Я хочу запросить контакт и получить контакты, связанные с ним.Эта часть работает.Но я также хочу получить между ними тип_отношения.
Я предполагал, что возвращаемый объект Контакт будет содержать тип_отношения, но это не так.
Как запросить такие атрибуты для контактаобъект из таблицы ассоциации?