我有一个带功能的插件:
def view(request):
year = Entry.archive.aggregate(aggregator('pub_date_from'))\
.values()[0].year
url = reverse('%s:blog_archive_year' % get_language(),
kwargs={'year': year})
return redirect(url)
问题在于,在分配year
时,它会查看第一个值。如果有内容,它会很有效,但如果没有 - AttributeError
尖叫.values()[0].year
不包含任何数据。我试图添加try / exception但我意识到AtrributeError
中没有django.core.exceptions
。我怎么解决这个问题?提供默认值或某些东西将无济于事,因为它看起来会引发错误。
答案 0 :(得分:0)
AttributeError
是一个内置的例外,所以你可以这样做:
try:
year = Entry.archive.aggregate(aggregator('pub_date_from')).values()[0].year
url = reverse('%s:blog_archive_year' % get_language(),
kwargs={'year': year})
return redirect(url)
except AttributeError, e:
return redirect(somewhere_else)
(即你不需要导入任何东西来使用AttributeErro
,你可以使用它。)