MySQL - Pythonanywhere - 同时添加 2 个值
MySQL - Pythonanywhere - Adding 2 values at the same time
我正在将此代码用于数据库:
class Wachtwoord(db.Model):
__tablename__ = "wachtwoorden"
id = db.Column(db.Integer, primary_key=True)
pogingen = db.Column(db.String(80))
namen = db.Column(db.String(80))
@app.route("/", methods=["GET", "POST"])
def main():
if request.method == "GET":
print("in request.method = get")
return render_template("main_page.html")
if (request.form["Knop1"] == "1912"):
print ('Het wachtwoord is geraden:', request.form["Knop1"])
poging = Wachtwoord(pogingen=request.form["Knop1"])
naam = Wachtwoord(namen=request.form["Knop2"])
db.session.add(poging)
db.session.add(naam)
db.session.commit()
return redirect("http://tegelizr.nl/tegeltjes/dat-klopt-als-een-bus.png")
else:
print ('Iemand heeft een het wachtwoord geraden:', request.form["Knop1"])
poging = Wachtwoord(pogingen=request.form["Knop1"])
naam = Wachtwoord(namen=request.form["Knop2"])
db.session.add(poging, naam)
db.session.commit()
return render_template("main_page.html")
当我使用此代码并执行 "select * from wachtwoorden;" 时,它 returns 是这样的:
所以它 returns: pogingen-null 然后下一行 null-namen。如果没有 "null",我怎样才能让它成为 pogingen-namen?我在 db.session.add() 之后添加了 db.session.commit() 为什么它不起作用?
谢谢。
在你的代码中你有这个:
poging = Wachtwoord(pogingen=request.form["Knop1"])
naam = Wachtwoord(namen=request.form["Knop2"])
db.session.add(poging)
db.session.add(naam)
这意味着您要告诉系统创建两个新的 Wachtwoord
对象,其中一个 pogingen
设置为 request.form["Knop1"]
,namen
未设置,并且另一个 namen
设置为 request.form["Knop2"]
,pogingen
未设置。
所以为什么它在数据库中创建两行的答案是你告诉它这样做:-)
要创建一个设置了两个值的 Wachtwoord
,只需执行以下操作:
wachtwoord = Wachtwoord(pogingen=request.form["Knop1"], namen=request.form["Knop2"])
db.session.add(wachtwoord)
我正在将此代码用于数据库:
class Wachtwoord(db.Model):
__tablename__ = "wachtwoorden"
id = db.Column(db.Integer, primary_key=True)
pogingen = db.Column(db.String(80))
namen = db.Column(db.String(80))
@app.route("/", methods=["GET", "POST"])
def main():
if request.method == "GET":
print("in request.method = get")
return render_template("main_page.html")
if (request.form["Knop1"] == "1912"):
print ('Het wachtwoord is geraden:', request.form["Knop1"])
poging = Wachtwoord(pogingen=request.form["Knop1"])
naam = Wachtwoord(namen=request.form["Knop2"])
db.session.add(poging)
db.session.add(naam)
db.session.commit()
return redirect("http://tegelizr.nl/tegeltjes/dat-klopt-als-een-bus.png")
else:
print ('Iemand heeft een het wachtwoord geraden:', request.form["Knop1"])
poging = Wachtwoord(pogingen=request.form["Knop1"])
naam = Wachtwoord(namen=request.form["Knop2"])
db.session.add(poging, naam)
db.session.commit()
return render_template("main_page.html")
当我使用此代码并执行 "select * from wachtwoorden;" 时,它 returns 是这样的:
所以它 returns: pogingen-null 然后下一行 null-namen。如果没有 "null",我怎样才能让它成为 pogingen-namen?我在 db.session.add() 之后添加了 db.session.commit() 为什么它不起作用?
谢谢。
在你的代码中你有这个:
poging = Wachtwoord(pogingen=request.form["Knop1"])
naam = Wachtwoord(namen=request.form["Knop2"])
db.session.add(poging)
db.session.add(naam)
这意味着您要告诉系统创建两个新的 Wachtwoord
对象,其中一个 pogingen
设置为 request.form["Knop1"]
,namen
未设置,并且另一个 namen
设置为 request.form["Knop2"]
,pogingen
未设置。
所以为什么它在数据库中创建两行的答案是你告诉它这样做:-)
要创建一个设置了两个值的 Wachtwoord
,只需执行以下操作:
wachtwoord = Wachtwoord(pogingen=request.form["Knop1"], namen=request.form["Knop2"])
db.session.add(wachtwoord)