这是我的模特:
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特定技巧?
我的经理已经有了一些代码,但它正在选择所有日子。
答案 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)