Flask -SqlAlchemy: лучший способ сделать массовые обновления? - PullRequest
0 голосов
/ 17 февраля 2020

Я хочу отфильтровать самую последнюю запись таблицы (по feature_registration_datetime), которая соответствует mlflow_run_id, а затем обновить столбцы status и batch_load_datetime. На данный момент я передаю mlflow_run_id по одному, используя query.filter, затем обновляю запись, а затем db.session.commit. Есть ли лучший способ сделать это, передав несколько mlflow_run_ids и обновив таблицу сразу.

Пример кода:

def update_run(mlflow_run_id, status):
    existing_run = Job.query.filter(Job.mlflow_run_id == mlflow_run_id).order_by(desc(
        Job.feature_registration_datetime)).first()

    if existing_run:
        existing_run.batch_load_datetime = datetime.utcnow().strftime('%Y-%m-%dT%H:%M:%SZ')
        existing_run.status = status
        db.session.commit()
...