1

これは私のモデルです:

class People(models.Model):
    Name = models.CharField(max_length=100)
    Lastname = models.CharField(max_length=100)
    Record_Date=models.DateTimeField()

views.py で

"""Takes an integer value representing the day of week from 1 (Sunday) to 7 (Saturday)."""

    People.objects.filter(Record_Date__week_day=1)

日曜日の Record_Date がすべて表示されます。それは結構です。しかし、各日曜日のデータ内でより具体的な時間を取得したいと考えています。たとえば、毎週日曜日の 10:30 ~ 11:55 です。クエリを使用してそれを行うにはどうすればよいですか、それを行うための他の代替手段は何ですか?

4

1 に答える 1

1

いつでも結果を取り出して python でフィルタリングできます。

results = People.objects.filter(Record_Date__week_day=1)
filtered = [r for r in results if 55 <= r.Record_Date.minute <= 30 and 10 <= r.Record_Date.hour <= 11]

そして、デバッグを容易にするためにループに分割します。

results = People.objects.filter(Record_Date__week_day=1)
filtered = []
for r in results:
    print r.Record_Date
    if 55 <= r.Record_Date.minute <= 30:
        print r.Record_Date.minute, r.Record_Date.hour
        if 10 <= r.Record_Date.hour <= 11:
            print "Found!"
            filtered.append(r)
于 2012-10-17T03:33:19.823 に答える