回溯(最近一次调用):
File "/home/ahmed/SavannahX/venv/lib/python3.9/site-packages/django/core/handlers/exception.py", line 55, in inner
response = get_response(request)
File "/home/ahmed/SavannahX/venv/lib/python3.9/site-packages/django/core/handlers/base.py", line 197, in _get_response
response = wrapped_callback(request, *callback_args, **callback_kwargs)
File "/home/ahmed/SavannahX/venv/lib/python3.9/site-packages/django/contrib/auth/decorators.py", line 23, in _wrapped_view
return view_func(request, *args, **kwargs)
File "/home/ahmed/SavannahX/app/views.py", line 1352, in yearly_subscription_plans
duration = Duration.objects.get(name="yearly")
File "/home/ahmed/SavannahX/venv/lib/python3.9/site-packages/```django/db/model/Manager.py“,第85行,在manager_method返回getattr(self.get_queryset(),name)(*args,**kwargs)文件的第496行,在get #en0# self.model.DoesNotExist(
Exception Type: DoesNotExist at /yearly/subscriptions/
Exception Value: Duration matching query does not exist.发布于 2022-07-21 11:20:13
您正在使用.get()函数,但它没有找到匹配的对象。这是使用get的危险,如果找不到对象,就会引发异常。相比之下,.filter()函数只返回一个空的查询集。你可以:
get_object_or_404函数,该函数在找不到对象时返回一个404 HTTP响应。从django.shortcuts导入持续时间= get_object_or_404 (持续时间,pk=pk)
或
get():尝试:Duration.objects.get(name=“一年一度”)除了:#做其他事情,可能返回404……
发布于 2022-07-21 12:42:33
工期=Duration.objects.get(name=“年”)
上面的代码给出了错误,因为如果找不到对象,并且可以按下面的方式处理,get方法将引发"DoesNotExist“
第一方法
Duration.objects.filter(name="yearly").first()
第二种方法
从django.shortcuts导入get_object_or_404
工期=get_object_or_404(工期,pk=pk)
第三种方法
尝试:
Duration.objects.get(name=“年度”)
例外的是:
#请在这里处理的异常
https://stackoverflow.com/questions/73064986
复制相似问题