flask 创建数据提交到mysql中的方式

2018-05-17  本文已影响0人  裴general

有几种方式可以提交到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 '创建班级表成功'
上一篇下一篇

猜你喜欢

热点阅读