如何根据用户登录执行不同的数据库查询

时间:2018-06-03 14:43:55

标签: python mysql flask flask-sqlalchemy

我正在开发Flask项目。我想查询数据库,根据用户登录显示不同的数据。我的数据库中有一些员工,分为几个团队: - 开发人员 - 系统分析 - 技术支持e.t.c.

我想根据主管登录显示每个团队的各自主管的数据。目前,我正在使用if else语句执行此操作。

@app.route('/employee')
def employee():
    cur = connection.cursor()
    emp_num == request.form.emp_num(emp_num)
    if emp_num = '1010':
        cur.execute('''SELECT * FROM emp_data WHERE team = "dev"'''')
    elif emp_num = '1122':
        cur.execute('''SELECT * FROM emp_data WHERE team = "analyst"'''')
    else:
        return 'Data not found'

代码是这样的。有没有办法根据主管登录凭证或更好的方式自动执行此操作?

1 个答案:

答案 0 :(得分:0)

这应该会让你有所不同:

@app.route('/employee')
def employee():
    cur = connection.cursor()
    emp_num == request.form.emp_num(emp_num)
    emp_nums = {'1010': 'dev', '1122': 'analyst'}
    if emp_num in emp_nums:
        cur.execute('''SELECT * FROM emp_data WHERE team = "{}"'''.format(emp_nums[emp_num]))
    else:
        return 'Data not found'