бд, часть обновить, а часть проигнорировать. Алгоритм такой:
Если пользователя нет в базе - добавляем.
Если пользователь есть, но новое время больше - обновляем, но если меньше,то ничего не делаем
Можно запихать в 1 запрос? Если можно накидайте пример запроса))
upd: пользователи - уникальны
Для начала нужно написать такой запрос на SQL, а дальше переводить в алхимию. Но чувствую, что не напишется он на алхимии… нужно будет либо переходить на чистый SQL, либо доделывать питоном
insert ... on conflict update set ... Case
Не лучше попробовать забрать юзера и дальше с объектом модельки работать? user = repo.get_user(...) if not user: create user elif user.col > value: update user
Количество записей может достигать 1к. Поэтому по одному дергать не вариант
А не обязательно коммитить каждого юзера. Обработай всех одной сессией, потом коммит. Думаю алхимия разберётся, где батч пихнуть. Хотя спорное заявление, надо почитать доку
нужно. и все это покрыть ексекутемени
Там несколько запросов за раз идёт или зачем ext-many?
каких запросов? тебе же вставить надо или обновить
да, но обновить в том случае, если запись уже есть и время у записи меньше нового
Обсуждают сегодня