我正在尝试向数据库中插入新数据,但是我的Web应用程序返回此错误。 我的代码如下:
models.py
F|F|F & F|F|F & F|T|F
F|F|F & F|F|F & T|F|F
application.py
import os
from flask import Flask
from flask_sqlalchemy import SQLAlchemy
db = SQLAlchemy()
...
class Patient(db.Model):
__tablename__ = "patients"
id = db.Column(db.Integer, primary_key=True)
lname = db.Column(db.String, nullable=False)
fname = db.Column(db.String, nullable=False)
mname = db.Column(db.String, nullable=True)
address = db.Column(db.String, nullable=False)
birthdate = db.Column(db.Date, nullable=False)
date_modified = db.Column(db.DateTime, nullable=False)
modified_by = db.Column(db.Integer, db.ForeignKey("users.id"), nullable=False)
date_created = db.Column(db.DateTime, nullable=False)
created_by = db.Column(db.Integer, db.ForeignKey("users.id"), nullable=False)
def __init__(self, fname, mname, lname):
self.fname = fname
self.mname = mname
self.lname = lname
我是python的新手,已经尝试了几个小时在代码中查找错误,但似乎找不到任何可以帮助我的东西。
答案 0 :(得分:0)
我猜想您在使用它后会错过创建构造函数“ Session”的问题,
该代码将是:
# create a configured "Session" class
Session = scoped_session(sessionmaker(bind=engine))
@app.route("/submitpatient", methods=["POST"])
def submitpatient():
fname = request.form.get("fname")
mname = request.form.get("mname")
lname = request.form.get("lname")
patient = Patient(fname=fname, mname=mname, lname=lname)
#create a Session
session = Session()
session.add(patient)
session.commit()
return redirect(url_for('index'))
有关更多信息,请参见this
答案 1 :(得分:0)
如果您只是add
和commit
,如下所示,
db.add(patient)
db.commit()