我有两张桌子,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 很陌生,所以这是一个学习经验。谢谢你的帮助。