Обновление или вставка SQLAlcehemy (с сервером SQL) - PullRequest
0 голосов
/ 22 марта 2020

Я использую SQLAlcehemy в Python для управления обновлениями данных и вставками. Я ищу более удобный способ при выполнении запроса - проверьте, существует ли искомое значение, если да, обновите его, если необходимо, и, если нет, создайте новую строку. Вот пример того, как я в настоящее время делаю это с моими текущими session и таблицей Persons.

temp = session.query(Persons).filter(Person=='Mark')
IsDirty = False
if temp.count() == 0:
    new_person = Person()
    new_person.PersonName = 'Mark'
    ...
    session.add(new_person)
    IsDirty = True
elif temp.count() == 1:
    temp = temp.first()
    if temp.PersonName != 'Mark':
        temp.PersonName = 'Mark'
        ...
        IsDirty = True
    if IsDirty:
        session.commit()

. Это кажется очень громоздким, чтобы в основном присваивать или проверять значения каждого элемента с помощью в таблице Persons (не отображаются все только с использованием ...). Было бы неплохо сделать это более упорядоченным. У кого-нибудь есть мысли?

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