MySQL - Pythonanywhere - 同时添加 2 个值

标签 mysql pythonanywhere

我将此代码用于数据库:

    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;”时,它会返回以下内容:

https://i.gyazo.com/e83343d29e65b754bce97fd36a8248e3.png

所以它返回: pogingen-null ,然后下一行 null-namen 。我怎样才能使它成为 pogingen-namen,而不需要“null”。我在 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)

关于MySQL - Pythonanywhere - 同时添加 2 个值,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/44314788/

相关文章:

php - 优化MySQL数据库查询

java - 如何使用Java测试数据访问和SQL语句?

php - 存储查询结果并在另一个查询中使用

python-3.x - 导入错误 : No module named 'scipy._lib'

python - django pythonforfacebook 处理移动应用程序访问?

MySQL - Ubuntu- MySQL InnoDB Cluster 服务(或)守护进程名称

python - 从 pythonanywhere 打开 url

Pythonanywhere,如何使用静态文件?网址?

mysql - Pythonanywhere MySQL - 访问被拒绝

mysql - 在具有多个表的 sql 中搜索的最佳方法是什么?