最佳答案
我想从数据库中获得一个对象,如果它已经存在(基于提供的参数)或创建它,如果它不存在。
Django的get_or_create
(或源)就是这样做的。在SQLAlchemy中是否有等价的快捷方式?
我现在明确地像这样写出来:
def get_or_create_instrument(session, serial_number):
instrument = session.query(Instrument).filter_by(serial_number=serial_number).first()
if instrument:
return instrument
else:
instrument = Instrument(serial_number)
session.add(instrument)
return instrument