我在我的項目中使用了sql鍊金術。如何在sqlachemy中查詢已連接的表屬性
我有一個問題,當兩個或多個表加入或有外鍵關係,然後我無法查詢在哪裏條件加入表屬性。
例如,我已經注意到表和用戶表user.id是notice.sender 現在我想通過user.name
通知表尋人啓事外鍵:[ID,發送方(FK user.id)接收器(FK user.id),主題,郵件,狀態]
用戶表:[ID,姓名,電子郵件地址,狀態]
加盟通知型號:
sender_user = relationship('User', primaryjoin='Notice.sender==user.id', backref=backref("sender_user"))
receiver_user = relationship('User', primaryjoin='Notice.receiver==user.id', backref=backref("receiver_user"))
SQL鍊金術篩選查詢:
user_name='john'
notice=db_session.query(Notice)
notice = notice.filter(Notice.sender_user.name == user_name)
下面的查詢不工作:
notice=db_session.query(Notice)
notice = notice.filter(Notice.user.name == user_name)
請幫幫忙!
在第二個查詢中,你的意思是'notice.sender.name'嗎? – jadkik94
你的錯誤是什麼? – jadkik94
@ jadkik94對於第二個查詢錯誤是:對於第一個查詢,'InstrumentedAttribute'對象和'Comparator'對象都沒有屬性'name' – anils