2
我有两个表,users
和contacts
。我查询contacts
表并获取用户联系人列表。然后,我希望能够编写Contact.first_name
(其中first_name
是users
表中的一行),并打印出该联系人的名字。将多个外键映射到父表的问题
目前,我的Contact
对象不能识别user
表的任何属性。
下面是一些代码:
class User(Base):
""" Basic User definition """
__tablename__ = 'users'
id = Column(Integer, primary_key=True)
first_name = Column(Unicode(255))
last_name = Column(Unicode(255))
contacts = relationship('Contact', backref='users')
class Contact(Base):
__tablename__ = 'contacts'
id = Column(Integer, primary_key=True)
user_id = Column(Integer)
contact_id = Column(Integer)
__table_args__ = (ForeignKeyConstraint([id], [User.id]), {})
这里是我的查询:
Contact.query.filter(Contact.user_id == self.user_id).filter(Contact.state == True).all()
说实话,我不能确定如何正确Contact.user_id
和Contact.contact_id
地图我的两个外键的User.id
行。也许这是我的问题的根源?
我对使用SQLAlchemy很新,所以这是一个学习体验。谢谢你的帮助。