2011-11-30 80 views
1

我在Album Model中匹配name。它的工作很好。但有一段时间它不匹配。它会引发错误信息Album matching query does not exist。我想如果没有找到匹配。然后不要显示任何错误信息。可能吗?由于想要隐藏错误信息(查看)

def movie_details(request,slug): 
    movies = get_object_or_404(Movie,slug=slug) 
    # calculating wikipedia directory structer for images 
    #image_name = movies.image 
    name = movies.title 
    album_name = Album.objects.get(name__exact=name) 
    album_id = album_name.id 
    song_list = Song.objects.filter(album=album_id) 
    #image_path = generateWikiImage(image_name) 
    # 
    return render_to_response('base_movies.html',locals(), 
           context_instance=RequestContext(request) 
          ) 

错误消息

Album matching query does not exist 

UPDATE:

def movie_details(request,slug): 
movies = get_object_or_404(Movie,slug=slug) 
# calculating wikipedia directory structer for images 
#image_name = movies.image 
name = movies.title 
try: 
    album_name = Album.objects.get(name__exact=name) 
    album_id = album_name.id 
    song_list = Song.objects.filter(album=album_id) 
except: 
    pass 

感谢足球俱乐部

+1

只是使用'try'和'except'捕获异常 –

回答

2

正如上面评论所建议的,您需要捕获引发的异常。在你的情况,这会是:

try: 
    album_name = Album.objects.get(name__exact=name) 
except Album.DoesNotExist: 
    pass 

如果你想设置album_name一些默认值,如果你不能找到它,用代码替换pass将其设置为默认值。

This StackOverflow post也涉及类似的问题。)

+0

它的工作。谢谢 – Kulbir