Django : FieldError в /editstu/121

Ошибка :

Невозможно преобразовать ключевое слово 'id' в поле. Варианты: Age, Course_ID, DoB, Grade, Student_ID, Student_Name

enter image description here

Моя функция в файле views.py

def Editstu(request,id):
    editstuobj = Student.objects.get(id=id)
    return render(request, 'editstu.html',{'Student':editstuobj})

Мой urls.py

urlpatterns = [
    path("admin/", admin.site.urls),
    path('',views.showStudent),
    path('InsertStudent',views.InsertStudent,name="InsertStudent"),
    path('Insertcour',views.InsertCourse,name="InsertCourse"),
    path('editstu/<int:id>',views.Editstu,name="Editstu"),
    path('editcour/<int:id>',views.Editcour,name="Editcour"),
    # path('Update/<int:id>',views.updateemp,name="updateemp"),
    path('Deletestu/<int:id>',views.Deletestu,name="Deletestu"),
    path('Deletecourse/<int:id>',views.Deletecourse,name="Deletecourse"),
]

Мой Index.html

<td><a href="editstu/{{result.Student_ID}}">Edit</a></td>
<td><a href="Deletestu/{{result.Student_ID}}" onclick="return confirm ('Are you sure to delete the record?')">Delete</a></td>
         

Я проверил функцию, правильно ли она объявлена, но безуспешно. Я новичок в Django. Пишет, что ошибка в 'id', но все должно быть нормально. Пожалуйста, помогите, если кто может.

Я думаю, что поле модели - это Student_ID, а не id, а также используйте get_object_or_404() так:

def Editstu(request,id):
    editstuobj = get_object_or_404(Student,Student_ID=id)
    return render(request, 'editstu.html',{'Student':editstuobj})

Также используйте url tags так:

<td><a href="{% url 'Editstu' result.Student_ID %}">Edit</a></td>
<td><a href="{% 'Deletestu' result.Student_ID %}" onclick="return confirm ('Are you sure to delete the record?')">Delete</a></td>
Вернуться на верх