Как получить текущее значение из таблицы django
Я получаю только последнее значение из моей таблицы django после нажатия кнопки удаления.
html файл -
views.py -
def engagement_admin_edit(request, id):
staff = request.user.is_staff
a = User.is_authenticated
if staff == True:
eng_list = Grp.objects.all()
eng = Grp.objects.get(id = id)
eng_name = eng.gname
eng_name = str(eng_name)
eng_id = eng.id
cursor = connection.cursor()
cursor.execute('''SELECT * FROM main_enguser WHERE eid=%s''',[eng_id])
row = cursor.fetchall()
users = []
for i in row:
users.append(i[1])
user_list = User.objects.filter(email__in=users)
if request.method == 'POST':
if 'update' in request.POST:
name = (request.POST.get('engname'))
if name != eng_name:
engid = eng.id
engid = int(engid)
cursor = connection.cursor()
cursor.execute('''UPDATE main_grp SET gname=%s WHERE id=%s''',[name,engid])
messages.success(request, 'Engagement Name Updated Successfully')
return redirect('/eng_admin')
else:
print("There")
messages.success(request, 'No Changes Detected')
return redirect('/eng_admin')
if 'delete' in request.POST:
email = request.POST.get('email', '')
print("HI")
print(email)
messages.success(request, 'No Changes Detected')
return render(request, "main/admin_eng_edit.html", {'eng_name':eng_name, 'user':users, 'user_list':user_list})
в файле views.py основная часть такова:
if 'delete' in request.POST:
email = request.POST.get('email', '')
print("HI")
print(email)
Сценарий выводит только email id последней строки, даже если нажата кнопка удаления первой строки.
Пробовал также request.POST.get('email').
Пробовал менять положение тегов
.
Но это не помогло
Любая помощь будет принята с благодарностью! Заранее спасибо
HTML-форма не может предоставить данные из нескольких одноименных полей.
Однако, вы можете передать значение внутри вашей кнопки отправки, используя HTML атрибут "value"
Попробуйте что-нибудь вроде этого:
<button class="btn" name="delete" type="submit" value="{{ i.email }}"><img src="/static/assets/images/trash1.png" style="width: 18px;" alt="Delete"></button>
и затем в вашем коде:
email = request.POST.get('delete', '')