我有以下型号:
class Destination_Deal(models.Model):
name = models.CharField(_("Nombre"),max_length=200)
duration = models.IntegerField(_(u"Días"))
class Departure_Date(models.Model):
date_from= models.DateField(_('Desde'))
date_to= models.DateField(_('Hasta'))
destination_deal = models.ForeignKey(Destination_Deal,verbose_name = _("Oferta de Destino"))
我想筛选适合周末旅行的目的地优惠。这意味着:
出发日 = 周五或周六
返回日 = 周日。因此,如果出发日是星期五或星期六,则持续时间必须为 3 或 2。
例子
Destination_Deal
id name duration
1 Deal1 3
2 Deal2 5
3 Deal3 2
4 Deal4 7
Departure_Date
id date_from date_to destination_deal_id
1 2012-11-05 2012-11-15 1
2 2012-11-01 2012-12-16 2
3 2013-01-21 2013-01-27 3
4 2013-01-14 2013-01-18 3
5 2013-01-04 2013-01-11 4
期望的结果
ID1: 2012-11-09 是星期五,交易的持续时间是 3。所以在这种情况下,星期五、星期六和星期日符合有效的周末。
ID3: 2013-01-26 是星期六,交易的持续时间是 2。也是有效的。
--编辑--
好的,如果我不清楚,对不起。我需要根据上述周末规则过滤目的地交易。我想通过从模型(DateField)获取 date_from 到 python(datetime),迭代它直到 date_to 并使用 weekday() 函数来检查它是星期五还是星期六。
我知道 django weekday 功能,但它只能在特定日期(无范围)工作,所以我想知道这种情况是否有更简单的方法。