0

在 Django 中拥有基于日期范围的 rss 提要的方法是什么。例如,如果我有以下类型的 django rss feed 模型。

from django.contrib.syndication.feeds import Feed
from myapp.models import *

class PopularFeed(Feed):
    title = '%s : Latest SOLs' % settings.SITE_NAME
    link = '/'
    description = 'Latest entries to %s' % settings.SITE_NAME

    def items(self):
        return sol.objects.order_by('-date')

如果我想拥有 LeastPopularFeed,有什么方法可以让 PopularFeed 用于所有时间、上个月、上周、过去 24 小时,反之亦然?

4

1 回答 1

1

您需要为所需的每个提要定义一个类。例如上个月的提要:

class LastMonthFeed(Feed):

    def items(self):
        ts = datetime.datetime.now() - datetime.timedelta(days=30)
        return sol.object.filter(date__gte=ts).order_by('-date')

然后将这些提要添加到您urls.py的文档中,如文档所示:http: //docs.djangoproject.com/en/1.2/ref/contrib/syndication/

于 2010-08-12T16:49:16.250 回答