有几种方式可以提交到mysql中,可以单次,可以多次
1. 实例化表,将表中的字段赋值,提交到数据库
@stu.route('/createstu/')
def create_stu():
stu = Student()
stu.s_name = '小骨头%d' % random.randrange(1000)
stu.s_age = '%d' % random.randrange(20)
try:
db.session.add(stu)
db.session.commit()
# 事务性: 原子性, 一致性, 隔离性, 自由性
return '创建学生成功'
except:
db.session.rollback()
2.先在models.py里初始化类
def __init__(self, name, desc):
self.g_name = name
self.g_desc = desc
(1)第二种方式, 以列表的形式值创建
if request.method == 'POST':
username1 = request.form.get('username1')
age1 = request.form.get('age1')
username2 = request.form.get('username2')
age2 = request.form.get('age2')
stu1 = Student(username1, age1)
stu2 = Student(username2, age2)
stus_list = []
stus_list.append(stu1)
stus_list.append(stu2)
db.session.add_all(stus_list)
db.session.commit()
return '创建成功'
(2)第二种方式(其实是第一种方式的变种), 前面是用字典来传入值
可以一次传入多个值
@grade.route('/creategrade/', methods=['GET', 'POST'])
def create_grade():
names = {
'python': '人生苦短,我用python',
'h5': '我是\(^o^)/~',
'java': '看我神威,无坚不摧',
'go': 'gogogo,那是go'
}
grades_list = []
for key in names.keys():
grade = Grade(key, names[key])
grades_list.append(grade)
db.session.add_all(grades_list)
db.session.commit()
return '创建班级表成功'