私は次のモデルを持っています:
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-01-26 は土曜日で、ディールのデュレーションは 2 です。これも有効です。
--編集--わかりました、わかりにくかっ
たらごめんなさい。上記の週末ルールに基づいて目的地の取引をフィルタリングする必要があります。モデル(DateField)からpython(datetime)にdate_fromを取得し、date_toまで繰り返し、weekday()関数を使用して金曜日か土曜日かを確認することでそれを行うことを考えていました。
私はdjangoの平日機能を認識していますが、特定の日付(範囲なし)でのみ機能するため、このシナリオにより簡単なアプローチがあるかどうかを知りたいです.