python sqlacademy фильтр запросов - PullRequest
0 голосов
/ 12 апреля 2020

У меня проблемы с sqlacademy в Python. Я пытаюсь отфильтровать запись в базе данных.

period_filter и process_filter передаются в качестве аргументов этой функции.

Это дает мне одну запись. Тот, который я ожидаю:

    for x in session.query(ProcessStatus).filter(ProcessStatus.reporting_period == period_filter and 
     ProcessStatus.process_name == process_filter):
        print(x.id, x.process_name)

Это дает мне ошибку, говоря, что у меня более одной записи:

    id_to_update = session.query(ProcessStatus).filter(ProcessStatus.reporting_period == period_filter 
     and ProcessStatus.process_name == process_filter).one()

Я пытался использовать последний подход для обновления записи в базе данных, но я обновил неправильную запись (я использовал .first (), а не .one () в этом случае), так как я знал, что только одна запись должна удовлетворять обоим условиям фильтра.

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

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...