我在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
更新: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
谢谢F.C.
正如上面的评论所建议的,您需要捕获所引发的异常。在你的例子中,它应该是:
try:
album_name = Album.objects.get(name__exact=name)
except Album.DoesNotExist:
pass
如果您想将album_name
设置为某个默认值,如果您找不到它,请将pass
替换为代码以将其设置为默认值。
(这个StackOverflow帖子也处理类似的问题)