получение ключа json объекта из базы данных
У меня есть бд, из которой я получаю данные пользователей и записываю их в json файл.
Вот структура:
Проблема в том, что я получаю сразу значение. Как получать еще и ключ, чтобы было не просто
[
54,
"newuser",
"newuser",
"[email protected]",
"2020-06-30",
"qweqwe123",
123123123,
"description"
],
а вот так:
{
"id": "54",
"firstname": "newuser",
"lastname": "newuser",
"email": "[email protected]",
"born_date": "qweqwe123",
"password": "34962",
"phone_number": "123123123",
"description": "description"
},
вот код:
@app.route('/register', methods=['GET', 'POST'])
def register():
if request.method == 'POST':
firstname = request.form['firstname']
lastname = request.form['lastname']
email = request.form['email']
password = request.form['password']
phone_number = request.form['number']
born_date = request.form['date']
description = request.form['description']
# password = hashlib.md5(password.encode())
# password = password.hexdigest()
cur = mysql.connection.cursor()
cur.execute('SELECT * FROM users.data WHERE email = %s AND password = %s',
(email, password))
account = cur.fetchone() # get all in account variable
if account:
return render_template('exist.html')
else:
session['email'] = email
session['firstname'] = firstname
cur.execute('INSERT INTO users.data(firstname, lastname, email, born_date, password, phone_number, description) VALUES (%s, %s, %s, %s, %s, %s, %s)',
(firstname, lastname, email, born_date, password, phone_number, description))
mysql.connection.commit()
cur.close()
cur = mysql.connection.cursor()
cur.execute("SELECT id, firstname, lastname, email, born_date, password, phone_number FROM users.data WHERE description = 'doctor'") # тут добавить выбор id, born_date, password, phone_number
account = cur.fetchall()
description = account
cur.close()
cur = mysql.connection.cursor()
cur.execute("SELECT * FROM users.data")
account = cur.fetchall()
description = account
content = {}
content = description
with open('data_json.json', 'w') as json_file:
json.dump(content, json_file, indent=4)
return render_template('profile.html', email=session['email'], firstname=session['firstname'], description=description)
return render_template('register.html')
я сделал так:
cur = mysql.connection.cursor()
cur.execute("SELECT * FROM users.data")
account = cur.fetchone()
description = account
content = {'id': description[0], 'firstname': description[1], 'lastname': description[2], 'email': description[3], 'born_date': description[4],
'password': description[5], 'phone_number': description[6], 'description': description[7]}
content = description
with open('data_json.json', 'w') as json_file:
json.dump(content, json_file, indent=4)
и получил, то, что хотел, но только для одного юзера. когда для всех fetchall() пишу, не срабатывает так