.
.
.
if num == 1:
return clone._result_cache[0]
if not num:
raise self.model.DoesNotExist(
"%s matching query does not exist." %
self.model._meta.object_name
)
raise self.model.MultipleObjectsReturned(
"get() returned more than one %s -- it returned %s!" %
(self.model._meta.object_name, num)
)
.
.
.
以上代碼截自query.py中的get方法
可見
當取不到記錄時拋出 模型類名.DoesNotExist異常
當取到多條記錄時拋出 模型類名.MultipleObjectsReturned異常
def post(self,request):
depname = request.POST.get('depname')
parentdepid = request.POST.get('seldep')
if not depname:
return render(request, 'depinfo.html', {'err': '部門名稱不能為空'})
try:
parentdep = models.Dept.objects.get(id=parentdepid)
except models.Dept.DoesNotExist:
dep = models.Dept.objects.create(depname=depname)
else:
dep = models.Dept.objects.create(depname=depname,parentdep=parentdep)
return redirect(reverse('user:adddep'))