首页 > 解决方案 > 检查匹配的查询是否不存在返回空字符串

问题描述

当我尝试检查一个对象是否存在时,将其返回到 excel 文件中,如果不返回一个空的“字符串”,但我在if句子中有错误

pkg = Package.objects.get(pk=pk)
price_date_all = PackagePricesAndDates.objects.filter(package=pkg)

if price_date_all.get(territory=ter.pk).sales:
   list.append(str(price_date_all.get(territory=ter.pk).sales))
else :
   list.append('')

标签: pythondjangodjango-queryset

解决方案


当您get在查询集上使用时,它将返回记录或引发DoesNotExist异常。

try:
    list.append(str(price_date_all.get(territory=ter.pk).sales))
except DoesNotExist:
    list.append('')

FWIW,您应该重命名list变量,因为它已经绑定到list用于创建列表的内置方法。不要重复使用已经存在的名称


推荐阅读