如何强制对queryset求值,以便在vi中捕获异常

2024-09-30 16:27:15 发布

您现在位置:Python中文网/ 问答频道 /正文

在视图呈现期间引发了OperationalError异常。你知道吗

所以我试着在views.py中渲染之前捕获它

try:
    dossiersdb = Person.objects.using('dbn').all()
    print(dossiersdb)
except OperationalError as exp :
    logger.warning("Got %s", exp) 
    return HttpResponse('<h1>OperationalError</h1>')

但是我需要添加print(dossiersdb),因为没有它,这里没有例外,但是在索引.html你知道吗

捕捉此异常的正确方法是什么?你知道吗


Tags: py视图objectsasallh1viewsperson
2条回答

可以使用list()强制对queryset求值。你知道吗

try:
  dossiersdb = list(Person.objects.using('dbn').all())
except OperationalError as exp :
  logger.warning("Got %s", exp) 
  return HttpResponse('<h1>OperationalError</h1>')

全局异常钩子呢?你知道吗

def exception_hook(exctype, value, trace):
    # some exception handling logic here.
    sys.__excepthook__(exctype, value, trace)
sys.excepthook = exception_hook

相关问题 更多 >