Я использую этот код для редактирования и удаления в django python, но это сообщение показывает DoesNotExist at /Edit/1 или DoesNotExist at /Delete/1
я использую этот код для редактирования и удаления в django python но это сообщение показывает DoesNotExist at /Edit/1 или DoesNotExist at /Delete/1
def stedit(request, id):
getsudentdetails= acc.objects.get(studnumber=id)
return render(request, 'edit.html',{"acc":getsudentdetails})
def stupdate(request,id):
if request.method=='POST':
stupdate= acc.objects.get(studnumber=id)
form=stform(request.POST,instance=stupdate)
if form.is_valid():
form.save()
messages.success(request, "The Student Record Is Updated Successfully..!")
return render(request, "edit.html",{"acc":stupdate})
def stdel(request, id):
delstudent= acc.objects.get(studnumber=id)
delstudent.delete()
results=acc.objects.all()
return render (request, "Login.html",{"acc":results})
Models.py
from django import forms from django.db import models
class acc(models.Model):
studnumber=models.IntegerField(unique=True)
firstname=models.CharField(max_length=150)
middlename=models.CharField(max_length=150)
lastname=models.CharField(max_length=150)
age=models.IntegerField()
gender=models.CharField(max_length=1)
uname=models.CharField(max_length=150,unique=True)
email=models.CharField(max_length=150,unique=True)
pwd=models.CharField(max_length=150)
contact=models.CharField(max_length =11)
class Meta:
unique_together = ('studnumber','email','uname')
class NewACCForm(forms.ModelForm):
class Meta:
model = acc
fields = "__all__"
Вы можете использовать ObjectDoesNotExist[Django-doc] как документировано
Базовый класс для исключений Model.DoesNotExist. Метод try/except для ObjectDoesNotExist будет перехватывать исключения DoesNotExist для всех моделей.
from django.core.exceptions import ObjectDoesNotExist
def stedit(request, id):
try:
getsudentdetails= acc.objects.get(studnumber=id)
return render(request, 'edit.html',{"acc":getsudentdetails})
except ObjectDoesNotExist:
#... do something if data not exists with provided studnumber value
def stupdate(request, id):
if request.method=='POST':
try:
stupdate= acc.objects.get(studnumber=id)
form=stform(request.POST,instance=stupdate)
if form.is_valid():
form.save()
messages.success(request, "The Student Record Is Updated Successfully..!")
return render(request, "edit.html",{"acc":stupdate})
except ObjectDoesNotExist:
#... do something if data not exists with provided studnumber value
def stdel(request, id):
try:
delstudent= acc.objects.get(studnumber=id)
delstudent.delete()
results=acc.objects.all()
return render (request, "Login.html",{"acc":results})
except ObjectDoesNotExist:
#... do something if data not exists with provided studnumber value