0

構成モデルの選択肢として、週の開始日と終了日があります

class config(models.Model)
...
    DAYS_OF_WEEK = (
    (0, 'Monday'),
    (1, 'Tuesday'),
    (2, 'Wednesday'),
    (3, 'Thursday'),
    (4, 'Friday'),
    (5, 'Saturday'),
    (6, 'Sunday'),
    )
    startday = models.Charfield(max_length = 1, choices=DAY_OF_WEEK)
    startday = models.Charfield(max_length = 1, choices=DAY_OF_WEEK)
    starttime = models.TimeField()
    endtime = models.Timefield()

タイムスタンプ付きのイベントを保持するdatetimefieldを持つ別のモデルがあります。

class event(models.Model)
...
event_timestamp = models.DateTimeField()

イベントモデルが開始日/時間範囲内にあるすべての構成モデルを取得するにはどうすればよいですか?

4

2 に答える 2

1

私はこれをすることになった

day =  timestamp.weekday()
config = ZoneConfiguration.objects.get(video_channel = event.videochannel , zone_endday__gte = day, zone_startday__lte = day)

開始日と終了日を整数として再定義しました。

DAYS_OF_WEEK = (
            (0,'Monday'),
            (1,'Tuesday'),
            (2,'Wednesday'),
            (3,'Thursday'),
            (4,'Friday'),
            (5,'Saturday'),
            (6,'Sunday')
            )
于 2012-05-13T17:48:57.940 に答える
0

Djangoのドキュメントに記載されているように、日時フィールドを曜日でフィルタリングできます。つまり、あなたはすることができます

Entry.objects.filter(pub_date__week_day=2) # Day 2 is Monday

たぶん、次のように範囲フィルター/オペレーターを追加することもできます

Entry.objects.filter(pub_date__week_day__range=(2,4)) # Monday to wednesday

これは少なくとも日付部分用です。

于 2012-05-11T20:03:01.757 に答える