Добавление данных в БД из списка
Есть многомерный список table_data
формата [[Товар1, 1, 0.5],[Товар2, 23, 14.5]]
, данные из которого необходимо перенести в БД.
Почему-то, при использовании цикла в БД вносится только последняя запись (в данном случае, Товар2
)
Код:
@app.route('/get_addr', methods=['POST', 'GET'])
def get_addr():
if request.method == 'POST':
get_addr = request.form.get('get_addr')
table_data, summofall = geturl.geturl(get_addr)
print(len(table_data))
for i in range(len(table_data)):
each_good = table_data[i][0]
post = Post(receipt=get_addr, good_name=each_good)
try:
db.session.execute(text('SELECT 1'))
print('\n\n----------- Connection successful !')
db.session.add(post)
db.session.commit()
return render_template("base.html", summ=summofall, table_data=table_data)
except Exception as e:
print('\n\n----------- Connection failed ! ERROR : ', e)
return 'При добавлении чека произошла ошибка!'
else:
return render_template('urlinput.html')
Ответы (1 шт):
Автор решения: 1 1
→ Ссылка
@CrazyElf оказался прав - в цикле был return
Рабочий код:
@app.route('/get_addr', methods=['POST', 'GET'])
def get_addr():
if request.method == 'POST':
get_addr = request.form.get('get_addr')
table_data, summofall = geturl.geturl(get_addr)
for i in range(len(table_data)):
each_good = table_data[i][0]
post = Post(receipt=get_addr, good_name=each_good)
try:
db.session.execute(text('SELECT 1'))
print('\n\n----------- Connection successful !')
db.session.add(post)
db.session.commit()
except Exception as e:
print('\n\n----------- Connection failed ! ERROR : ', e)
return 'При добавлении чека произошла ошибка!'
return render_template("base.html", summ=summofall, table_data=table_data)
else:
return render_template('urlinput.html')