Я хочу отфильтровать самую последнюю запись таблицы (по 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()