插入后SQLAlchemy的使用模型对象

时间:2019-01-30 15:37:18

标签: python sqlalchemy flask-sqlalchemy

我想用我的模型对象数据库插入后,因为它是在一个很方便的格式。我尝试了以下方法:

@app.route("/user", methods=["POST"])
def create_user():
    with db.session_scope() as session:
        user = User(
            name=request.form["name"],
            gender=request.form.get("gender")
        )
        session.add(user)
        session.flush()

    return json.dumps(user, cls=ModelEncoder)

不知怎的,我无法使用user对象的会话提交后(这是关闭with块时,基本上会发生什么是有办法做到这一点现在它抛出:

sqlalchemy.orm.exc.DetachedInstanceError: Instance <User at 0x258b19a9978> is not bound to a Session; attribute refresh operation cannot proceed (Background on this error at: http://sqlalche.me/e/bhk3)

在持续的示例的线

1 个答案:

答案 0 :(得分:0)

在刷新后包含session.expunge(user)可以解决问题。没想到它会起作用,因为它在提交之前就可以了,但是确实如此