我正在尝试将此原始 sql 复制到正确的 sqlalchemy 实现中,但经过多次尝试后,我找不到合适的方法来做到这一点:
SELECT *
FROM images i
WHERE NOT EXISTS (
SELECT image_id
FROM events e
WHERE e.image_id=i.id AND e.chat_id=:chat_id)
ORDER BY random()
LIMIT 1
Run Code Online (Sandbox Code Playgroud)
我得到的最接近的是:
session.query(Image).filter(and_(Event.image_id == Image.id, Event.chat_id == chat_id)).order_by(func.random()).limit(1)
Run Code Online (Sandbox Code Playgroud)
但我似乎无法找到如何放置 NOT EXISTS 子句。
任何人都可以伸出援助之手吗?
谢谢!