#python #django #database
Вопрос:
Я хочу удалить данные при нажатии кнопки корзины. Я могу отправлять, редактировать мелкие денежные средства в базу данных. Мне остается только удалить данные.
Это мое views.py
def deleteclaims(request, id):
context = initialize_context(request)
user = context['user']
#get id of particular form.
claims = SaveClaimForm.objects.get(id=id)
if request.method == 'POST':
claims.name = request.POST['name']
claims.email = request.POST['email']
claims.claim = request.POST['claim']
claims.claimtype = request.POST.get('claimtype')
claims.description = request.POST['description']
claims.receipt = request.FILES['receipt']
claims.cheque = request.POST.get('Cheque')
claims.status = request.POST['status']
claims.delete()
claims.save()
return render(request, 'Login/existingclaims.html', {'claims':claims, 'user':user}, {'action' : 'Delete claims'})
В моем html
<tr align="center">
<td>{{ claims.id }}</td>
<td>{{ claims.name }}</td>
<td>{{ claims.email }}</td>
<td>{{ claims.claim }}</td>
<td>{{ claims.claimtype }}</td>
<td>{{ claims.description }}</td>
<td><a href="/media/{{ claims.receipt }}"> Click to View </a></td>
<td>{{ claims.cheque }}</td>
<td>{{ claims.status }}</td>
<td><a href="/editclaims/{{claims.id}}"><i class="fas fa-pencil-alt"></i></a></td>
<td><a href="/deleteclaims/{{claims.id}}"><i class="fas fa-trash"></i></a></td>
</tr>
Комментарии:
1. Вы звоните
save()
, послеdelete()
чего повторно вставляете удаленную запись2. удалите все, кроме как
claims.delete()
из этого блока if3. Я удалил save (), но у меня ошибка типа: объект «SaveClaimForm» не может быть повторен
4. @EltonTan вы всегда должны возвращать перенаправление после успешного запроса на публикацию, а не отображать шаблон
5. Да, я внес изменения, чтобы создать переменную, вызываемую
results
для храненияSaveClaimForm
после ее удаления.