【发布时间】:2011-07-05 16:45:42
【问题描述】:
我有一个模型为“Post”的简单博客应用程序。如果我删除 Post 模型中的所有条目,当我尝试引用按日期排序的帖子列表中的第一项时会出现错误,我这样做是这样的:
latest_post = Post.objects.order_by('-date_created')[0]
错误是:IndexError: list index out of range
作为修复,我现在得到这样的项目:
all_posts = Post.objects.order_by('-date_created')
latest_post = ()
if (all_posts):
latest_post = all_posts[0]
如果我的模型“Post”中没有项目,并且没有抛出异常,则此方法有效。 然而对我来说,这似乎是太多的代码来做一些相当简单的事情。我认为使用 django QuerySet API 有更好的方法来执行此操作,但在文档中找不到任何内容。
有什么想法吗?
编辑:奇怪的是,当 Post 模型中没有项目时,这不会引发错误:
latest_post_list = Post.objects.all().order_by('-date_created')[1:10]
【问题讨论】: