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))

所以,我有一个非常基本的 orm 查询来过滤一天的数据。代码有一个奇怪的问题,因为 ids 应该是ids=[180...468], 但它返回

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

问题是代码返回的日期是正确的,但是 ID 不正确。这怎么可能,为什么我在同一个查询中得到不一致的 id 和 date ?

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 回答