之间的周末,我有以下型号:Django的过滤器,如果范围
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月9日是星期五和处理的时间是3。因此,在这种情况下,周五,周六和周日符合一个有效的周末。
ID3: 2013年1月26日星期六,本次交易的期限为2年。同样有效。
- 编辑 -
好的,对不起,如果我不清楚。我需要根据上述周末规则过滤目的地优惠。我正在考虑通过将date_from从模型(DateField)转换为python(datetime)来实现,迭代它直到date_to并使用weekday()函数来检查它是星期五还是星期六。
我知道django weekday函数,但它只会在特定的日期(无范围)上工作,所以我想知道是否有更简单的方法适用于此场景。
什么是你的问题?你有什么尝试? –
问题是:“我想筛选适合周末旅行的目的地优惠。”我会更新我的帖子。 –
这不是一个问题。你需要展示或解释你已经试图解决这个问题,然后问一个具体的问题,说明为什么你已经尝试过的东西没有工作。如果你坚持不了解如何解决问题的方法,那么就要弄清楚你需要回答哪些具体问题,以便制定一种方法,然后提出问题。 (编辑:它看起来像你已经详细阐述了一下你的编辑,所以我会看看) –