DoesNotExist в /up_emp/31/
DoesNotExist по адресу /up_emp/31/
Employee matching query does not exist.
Request Method:POSTRequest
URL:http://127.0.0.1:8000/up_emp/31/Django Version:5.0.6
Exception Type:DoesNotExistException
Value:Employee matching query does not exist.
В процессе реализации CRUD-операций в Django я столкнулся с некоторыми ошибками в процессе обновления. Не могли бы вы проанализировать приведенный ниже код и подсказать, как устранить эти ошибки?
update.html
views.py
def update_emp(request,emp_id):
emp=Employee.objects.get(pk=emp_id)
return render(request,'update_emp.html',{'emp':emp})
def up_emp(request,emp_id=None):
if request.method=="POST":
emp_name=request.POST.get("fname")
emp_id=request.POST.get("eid")
emp_phn=request.POST.get("phn")
emp_address=request.POST.get("address")
emp_working=request.POST.get("work")
emp_gender=request.POST.get("gender")
emp = Employee.objects.get(pk=emp_id)
emp.name=emp_name
emp.eId=emp_id
emp.phone=emp_phn
emp.address=emp_address
emp.working=emp_working
emp.gender=emp_gender
if emp_working is None:
emp.working=False
else:
emp.working=True
emp.save()
return redirect("/index/")
urls.py
from django.contrib import admin
from django.urls import path
from . import views
urlpatterns=[
path('admin/', admin.site.urls),
path('',views.home),
path('index/',views.home),
path('add_emp/',views.add_emp),
path('delete_emp/<int:emp_id>/', views.delete_emp),
path('delete_emp/', views.delete_emp),
path("update_emp/<int:emp_id>/",views.update_emp),
path("up_emp/<int:emp_id>/",views.up_emp),
path('displayAll_emp/', views.displayAll_emp),
]
models.py
from django.db import models
# Create your models here.
class Employee(models.Model):
name=models.CharField(max_length=200)
eId=models.CharField(max_length=200)
phone=models.CharField(max_length=20)
address=models.CharField(max_length=200)
gender=models.CharField(max_length=20)
working=models.BooleanField(default=True)
Могли бы вы проанализировать приведенную выше ошибку и предоставить правильное решение, которое может устранить эти проблемы? Также не могли бы вы объяснить, почему возникает эта проблема и что может быть не так с моим кодом?