You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

在Django中如何根据查询结果返回True或False?

问题解决:判断Django模型数据是否存在

报错翻译

charts.models.DoesNotExist: 找不到匹配查询条件的ChartSimilar对象。

问题原因

你使用的get()方法在查询不到符合条件的对象时,不会返回False或None,而是直接抛出DoesNotExist异常,导致代码无法正常进入else分支。

解决方案

方法1:使用exists()(推荐)

通过filter()构建查询集后调用exists(),它会直接返回布尔值,且查询效率更高:

if ChartSimilar.objects.filter(chart=pk, year=year).exists():
    print('True')
else:
    print('False')

方法2:捕获异常处理

如果必须使用get(),可以通过捕获异常来实现需求:

from charts.models import ChartSimilar

try:
    ChartSimilar.objects.get(chart=pk, year=year)
    print('True')
except ChartSimilar.DoesNotExist:
    print('False')

内容的提问来源于stack exchange,提问作者user18408844

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.08.18 19:45:34