Django ATRIBUTEERROR异常

Django ATRIBUTEERROR异常,django,exception,error-handling,Django,Exception,Error Handling,我有一个具有以下功能的插件: def view(request): year = Entry.archive.aggregate(aggregator('pub_date_from'))\ .values()[0].year url = reverse('%s:blog_archive_year' % get_language(),

我有一个具有以下功能的插件:

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)
问题是,在分配
年份时,它会查看第一个值。如果里面有什么东西,它会工作得很好,但是如果没有,
AttributeError
会尖叫说
.values()[0]。year
不包含任何数据。我试图添加try/exception,但我意识到
django.core.exceptions
中没有
atributeerror
。我怎样才能解决这个问题?给出一个默认值或其他东西是没有帮助的,因为它看起来是抛出错误的部分。

是一个内置的异常,所以您可以只执行以下操作:

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
,你可以直接使用它)。

谢谢,现在一切都正常:)很抱歉这个愚蠢的假设。也许你知道在哪里可以找到这样的内置异常或类似的链接?