Skip to main content
 首页 » 编程设计

python之如果找不到 Django 对象如何继续运行

2024年09月07日31Free-Thinker

我想检查一个对象是否存在——如果它不存在我想继续执行该函数而不返回 404 错误。我怎样才能做到这一点?

def check(request): 
    if request.is_ajax(): 
        # print('Working') #prints 
        id = request.POST.get('id') 
        post = Post.objects.get(hash=id) 
 
        obj = get_object_or_404(Post, post=post) 
        if obj: 
            # do stuff 
        else: 
            #do something else 

以上代码返回:

Not Found: /check/ 
[22/Jul/2018 01:15:03] "POST /check/ HTTP/1.1" 404 1729 

请您参考如下方法:

只需捕获 Post.DoesNotExist 异常并在异常处理程序中执行其他操作:

def check(request): 
    if request.is_ajax(): 
        id = request.POST.get('id') 
        try: 
            post = Post.objects.get(hash=id) 
            # do stuff 
        except Post.DoesNotExist: 
            # do something else