SQLAlchemy有没有类似于DataMapper的first_or_create方法?

1 投票
1 回答
1141 浏览
提问于 2025-04-17 13:23

使用数据映射器时,如果你想要“找到第一个符合某些条件的资源,或者如果找不到就创建这个资源”,你可以使用 #first_or_create。

我正在使用 flask-sqlalchemy,想知道是否有类似的功能。

谢谢!

1 个回答

1

django 中,有一个叫 get_or_create 的东西,你可以为 sqlalchemy 创建类似的功能。

def get_or_create(session, model, **kwargs):
    instance = session.query(model).filter_by(**kwargs).first()
    if instance:
        return instance
    else:
        instance = model(**kwargs)
        return instance

可以参考这里: python - SQLAlchemy 有没有和 Django 的 get_or_create 相似的功能? - Stack Overflow -> SQLAlchemy 有没有和 Django 的 get_or_create 相似的功能?

撰写回答