2017-06-01 3 views
0

ich für eine Datenbank diesen Code verwende:MySQL - Pythonanywhere - Hinzufügen von 2 Werte zur gleichen Zeit

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") 

Wenn ich diesen Code verwenden, und ich tue "select * from wachtwoorden;", gibt es das:

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

So gibt es: pogingen-null und dann null-Namen nächste Zeile. Wie kann ich es pogingen-nennen, ohne das "null". Ich habe db.session.commit() nach db.session.add() hinzugefügt, warum funktioniert das nicht?

Danke.

Antwort

0

In Ihrem Code haben Sie dies:

poging = Wachtwoord(pogingen=request.form["Knop1"]) 
    naam = Wachtwoord(namen=request.form["Knop2"]) 
    db.session.add(poging) 
    db.session.add(naam) 

Das bedeutet, das System doch sagen, um zwei neue Wachtwoord Objekte, von denen pogingen Satz request.form["Knop1"] hat, und namen ungesetzt, und der andere hat namen festgelegt auf request.form["Knop2"] und pogingen nicht festgelegt.

So ist die Antwort, warum es zwei Zeilen in der Datenbank ist die Schaffung ist, dass man es doch sagen, dass :-)

zu tun, um ein einzelnes Wachtwoord mit den beiden Werten auf sie, nur tun dies gesetzt zu erstellen:

wachtwoord = Wachtwoord(pogingen=request.form["Knop1"], namen=request.form["Knop2"]) 
    db.session.add(wachtwoord) 
+0

Ah, ich verstehe. Danke vielmals! :) – Jip1912

Verwandte Themen