Peewee: как выбрать несколько строк, где идентификатор соответствует списку?

list_of_ids = "23,55,11,24"
job = Job.select().join(User).where(Job.id IN (list_of_ids))

Я хочу получить все задания, принадлежащие определенному пользователю, где идентификатор задания соответствует предоставленному list of ids. Однако я продолжаю получать синтаксическую ошибку, и я не могу найти никакой документации по этому поводу на веб-сайте Peewee.

Я хочу иметь возможность выполнять операции обновления и удаления в списке предоставленных идентификаторов.

Было бы неплохо, если бы Крошка мог просто позволить мне вставить строку SQL. я бы просто сделал

SELECT job.name FROM user INNER JOIN job ON user.id = job.id 
WHERE job.id IN (23,55,11,24)

person KJW    schedule 01.05.2014    source источник


Ответы (1)


Вы хотите что-то вроде:

Job.select().join(User).where(Job.id << list_of_ids.split(','))

x << y будет выполнять x IN y, где y — список или запрос, как описано здесь: https://peewee.readthedocs.io/en/latest/peewee/query_operators.html

person tonycpsu    schedule 01.05.2014