У меня есть простая модель:
class News(models.Model):
title = models.CharField(max_length=255, verbose_name=_("title"))
content = models.TextField(default='', verbose_name=_("content"))
panel = models.CharField(max_length=50, default='', verbose_name=_("panel"))
created = TzDateTimeProperty(auto_now_add=True, verbose_name=_("date created"))
lastmodified = TzDateTimeProperty(auto_now=True, verbose_name=_("date modified"))
Я хочу получить 5 последних новостей, и я знаю, что с набором запросов БД Google App Engine я могу получить 5 последних записей следующим простым способом:
results = News.all().filter(panel = panel).order('created').fetch(5)
Когда Django работает в Google App Engine, мне нужно сделать:
results = News.objects.filter(panel = panel).order_by('created')[:5]
Но он выдаст исключение, если нет новостей. Я мог бы обернуть его в исключение catch, но как правильно и оптимизировать способ ограничения результатов запросов в Django?