在Django中从星期一到星期五检索行?

时间:2013-06-08 12:29:13

标签: python django

这是我的模特:

class SilverPriceManager(models.Manager):
    def missing_working_days(self, currency, year):
        if currency == 'usd':
            return self.filter(usd__isnull=False, date__year=year)
        else:
            return None

class SilverPrice(models.Model):
    date   = models.DateField(unique=True, help_text='Date for silver price.')
    usd    = models.DecimalField(null=True, blank=True, max_digits=15, decimal_places=10, help_text='USD price.')
    gbp    = models.DecimalField(null=True, blank=True, max_digits=15, decimal_places=10, help_text='GBP price.')
    eur    = models.DecimalField(null=True, blank=True, max_digits=15, decimal_places=10, help_text='EUR price.')

    objects = SilverPriceManager()

    def __unicode__(self):
        return str(self.date)

我正在尝试选择日期为星期一到星期五的所有行 是否有一些简单的django特定技巧?

我的经理已经有了一些代码,但它正在选择所有日子。

1 个答案:

答案 0 :(得分:4)

Django week_day lookup但不幸的是你can't use lookup operators on it。实现此功能后,您将能够:

SilverPrice.objects.filter(date__week_day__range=(2,6))

但是现在这不起作用,你唯一的选择就是一系列过滤器。我认为最简单的方法是排除周末:

SilverPrice.objects.exclude(date__week_day=1).exclude(date__week_day=7)