0
我試圖建立一個查詢它返回有孩子符合指定條件的所有對象。訣竅是有多個相互排斥的標準,所以必須有多個孩子。我不知道如何表達這一點。SQLAlchemy的不同的孩子必須存在
型號:
class Message(Base):
__tablename__ = 'Message'
class MessageRecipient(Base):
__tablename__ = 'MessageRecipient'
recipient_id = Column(Integer, ForeignKey('User.uid'))
message_id = Column(Integer, ForeignKey('Message.uid'))
user = relationship('User', backref="messages_received")
message = relationship('Message', backref="recipients")
我想這正被送往定義的一組用戶的所有郵件。例如,我想返回發送給用戶1
和2
,但不僅僅是發送給用戶1
或消息的消息只發送給用戶2
所有消息。它必須已經發送給兩個用戶!
我試圖查詢類似如下:
query = Message.query.filter(Message.recipients.any(MessageRecipient.recipient_id.in_([1,2])))
上述不起作用,因爲in_
是分離性的。它不會返回我想要的消息,但它也返回的消息我不想。
有沒有人有我如何建立一個查詢,這需要Message
有MessageRecipients
一個任意設置的ID的想法?