Как видно из названия, я хочу добавить строку с идентификатором на основе другой строки в SQLALchemy. В настоящее время я добавляю дополнительный select
, но я бы хотел избавиться от этого. Я знаю, что это возможно в MySQL, поэтому я просто пытаюсь выяснить версию SQLAlchemy. Вот что я сейчас имею:
keywords = ['a', 'b', 'c']
prefix_id = session.query(Prefix.id)\
.filter_by(name=some_prefix).first()[0]
inventory_item = InventoryItem(
item=some_item, prefix_id=prefix_id, address=some_address)
inventory_item_metas = [InventoryItemMeta(
inventory_item=inventory_item,
type='keyword',
value=keyword) for keyword in keywords]
Обратите внимание, что я добавляю больше элементов, основанных на возвращенном id, поэтому я хотел бы сделать все в одной транзакции максимально эффективно.