У меня есть следующие три таблицы.
User:
[
user_id
first_name
last_name
]
Picture:
[
filename
picture_type // eg: painting, photograph
painter
]
Comment
[
user_id
filename
comment
]
Я пытаюсь запросить все имена файлов, которые не были просмотрены текущим пользователем.
следующая строка возвращает все имена файлов, которые были просмотрены и прокомментированы в данном типе изображения
session.query(Picture.filename).outerjoin(Comment).filter(
Picture.filename == Comment.filename,
Picture.picture_type == 'photograph'
).all()
, а в следующей строке возвращаются все имена файлов в указанном типе picture_type
session.query(Picture.filename).outerjoin(Comment).filter(
Picture.picture_type == 'photograph'
).all()
Я ожидал, что следующая строка вернет имена файлов, которые не были просмотрены в указанном типе picture_type, но возвращает пустой список
session.query(Picture.filename).outerjoin(Comment).filter(
Picture.filename != Comment.filename,
Picture.picture_type == 'photograph'
).all()
Я что-то здесь не так делаю? Что мне здесь не хватает?