【发布时间】:2021-09-12 14:51:34
【问题描述】:
我创建了一个具有以下属性的表:
def complaint():
if request.method == "GET":
return render_template("complaint.html")
if request.method == "POST":
data = request.form
data = {
"name": data.get('name'),
"number": data.get('number'),
"address": data.get('address'),
"content": data.get('content'),
}
c = Contact(username=data['name'], number=data['number'], address=data['address'], issues=data['content'])
db.session.add(c)
db.session.commit()
return render_template("complaint.html", error="Success")
但是html显示错误
sqlalchemy.exc.IntegrityError: (pymysql.err.IntegrityError) (1048, "Column 'address' cannot be null")
我怎样才能实现它?
【问题讨论】:
-
我不确定应该是
nullable还是blank(或者blank在Django 中)。也许使用get('address', "")得到空字符串而不是None然后你将得到空字符串而不是null -
你是如何创建数据库的?您是在 MySQl 中手动创建它还是运行 python 代码来创建它?也许您使用不同的选项创建它,然后在 Flask 代码中使用。
-
非常感谢!我使用 ('address', "") 它现在可以工作了。我使用 python 代码设置数据库并更改 MySQL 中的一些属性。无论如何,非常感谢!
标签: python flask flask-sqlalchemy