Django-objects.get()什么都得不到,如何防止它?

时间:2016-07-20 19:07:13

标签: django

所以我已经检查了stackoverflow上的其他几个问题,但仍然无法找到原因。

我只是想知道如果我可以通过查找它的set_id来获取照片集。如果数据库中没有任何内容与此set_id,我想在html上显示一条简单的消息。 我有以下代码,但是当我有一个不存在的set_id时,它仍会尝试执行code something else,从而出错。

我也尝试了if _set.exist()if not _set,但也没有尝试过。

    def msa_result(request, set_id):
        try:
            _set = PhotoSets.objects.get(set_id=set_id)
        except PhotoSets.DoesNotExist:
            return HttpResponse("This set is not available")
    <code something else>

2 个答案:

答案 0 :(得分:0)

试试这个:

def msa_result(request, set_id):
     _set = PhotoSets.objects.get(set_id=set_id)
     if not _set:
        return HttpResponse("This set is not available")
     <code something else>

答案 1 :(得分:0)

试试这个:

def msa_result(request, set_id):
    try:
        _set = PhotoSets.objects.get(id=set_id) # -- change
    except PhotoSets.DoesNotExist:
        return HttpResponse("This set is not available")
<code something else>