一尘不染

django过滤器早于天?

django

天是用户输入以获得比(用户输入的天数)还早的结果的数字。例如,如果用户输入32天,则他们将获得30天之前的结果。

快速试用:

class Entry(models.Model):
    entered = models.DateTimeField()

>>> from datetime import datetime
>>> Entry(entered = datetime.now()).save()
>>> Entry.objects.filter(entered__lte = datetime.now())
[<Entry: Entry object>]
>>> Entry.objects.filter(entered__gte = datetime.now())
[]
>>> Entry.objects.filter(entered__gte = datetime.now(), entered__lte=datetime(2009,11,1,0,0))
[<Entry: Entry object>]

我的问题和尝试

xxxx__day__lte.

last_contact_filled来自输入字段的输入

for day_filter in xrange(1,int(last_contact_filled)+1):
                qdict['last_contact__day']=day_filter

在我的情况下,在Django中执行此操作的最佳方法是什么?


阅读 503

收藏
2020-04-01

共1个答案

一尘不染

这样的事情将为你工作:

from datetime import datetime, timedelta
how_many_days = 30
MyObject.objects.filter(entered__gte=datetime.now()-timedelta(days=how_many_days))
2020-04-01