我在视图渲染期间抛出了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),因为没有它,这里没有例外,但在index.html中也没有例外

捕获此异常的正确方法是什么?

最佳答案

您可以使用list()强制评估查询集。

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

08-07 20:59