Django : FieldError в /editstu/121
Ошибка :
Невозможно преобразовать ключевое слово 'id' в поле. Варианты: Age, Course_ID, DoB, Grade, Student_ID, Student_Name
Моя функция в файле 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>