2

次のモデルがあります:

class People(models.Model):
    name = models.CharField(max_length=100)
    date = models.DateTimeField()

そして私のデータは次のようなものです:

id    name    date
120   john    9-11-2011 19:00:25
121   john    9-11-2011 19:05:55
....
180   steven  10-11-2011 00:00:45
...
468    cleve  10-11-2011 23:55:35

views.pyで

-私がこれを試すとき:

dates=[]
ids=[]
for i in People.objects.filter(date__range=["2011-11-10", "2011-11-11"]):
    ids.append(i.id)
    dates.append(i.date)
return HttpResponse("ids=%s  dates=%s"% (ids,dates))

したがって、1日のデータをフィルタリングするための非常に基本的なormクエリがあります。ids=[180...468], コードには奇妙な問題があります。IDはあるはずですが、

ids=[120...408]
dates=[datetime.datetime(2011, 11, 10, 0, 0, 45), ....datetime.datetime(2011, 11, 10, 23, 55, 35)

問題は、コードが返す日付は正しいですが、IDは正しくありません。これはどのように可能ですか、同じクエリに対して一貫性のないIDと日付を取得するのはなぜですか?

4

1 に答える 1

0

大なり/小なりフィルターを使用してみてください。

for i in People.objects.filter(date__lte='2011-11-10').filter(date__gte='2011-11-11'):
    ...
于 2013-01-23T08:08:05.783 に答える