django的ORM中get方法异常,**(双星号)
笔记:django get方法的异常
.
.
.
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'))
Python中的*(星号)和**(双星号)完全详解
https://blog.csdn.net/zkk9527/article/details/88675129
调用函数时,两个**的情况:是分配字典的。
白话django之ORM的查询语句
https://zhuanlan.zhihu.com/p/56111840
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· winform 绘制太阳,地球,月球 运作规律
· TypeScript + Deepseek 打造卜卦网站:技术与玄学的结合
· Manus的开源复刻OpenManus初探
· 写一个简单的SQL生成工具
· AI 智能体引爆开源社区「GitHub 热点速览」