0
我有兩個sql表(message,messages_processed),兩者都是相似的。 messages_processed表有一列比消息1多,其他列數據類型/結構在兩者中都相同。在顯示特定用戶的所有消息(處理/常規)時,應該應用這兩個表的聯合。Sqlalchemy兩個類似表的聯盟
Class Message(object):
def __init__(self, sender_id, text, user_id):
self.sender_id = sender_id
self.text = text
self.user_id = user_id
self.categories = [] #(N:M relation)
Class MessageProcessed(object):
def __init__(self, sender_id, text, user_id, action):
self.sender_id = sender_id
self.text = text
self.user_id = user_id
self.categories = [] #(N:M relation)
self.action = action
我無法更改表的現有結構。我需要做一些這樣的事情,這將導致帶有N:M映射的orm對象數組。
session.query(Message).filter(Message.user_id==12)
.union(session.query(MessageProcessed)
.filter(MessageProcessed.user_id==12)).all()
謝謝。最終結果不需要採取行動。除行動外,聯盟應與其他所有領域一起。簡而言之,結果可以是消息的對象。 – limesoda
你有任何查詢問題嗎?它看起來絕對正確。 – drnextgis
我得到這個錯誤:傳遞給CompoundSelect的所有可選項必須具有相同的列數;選擇#1有13列,選擇#2有14_ – limesoda