我正在使用 flask-sqlalchemy 。我的班级是:
class Game(db.Model):
userid = db.Column(db.Integer, primary_key=True)
gameid = db.Column(db.Integer, primary_key=True)
gameid设置为在数据库中自动递增。
当我运行此功能时:
@app.route("/requestgame")
def requestgame():
game = Game()
game.userid = session["userid"]
db.session.add(game)
db.session.commit()
session["gameid"] = game.gameid
return "gameid {}".format(game.gameid)
我得到“ObjectDeletedError:Instance”已被删除,或者其行不存在。“
如何让游戏玩家返回?
看起来有人在这里问了关于常规SQLAlchemy的相同问题:
SQLAlchemy Obtain Primary Key With Autoincrement Before Commit
但我尝试了推荐的解决方案(调用session.flush()
),但似乎没有任何区别。