日期是用户输入的数字,以获得比(用户输入的天数)更早的结果,例如,如果用户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>]
Run Code Online (Sandbox Code Playgroud)
我的问题和我的尝试
xxxx__day__lte.
Run Code Online (Sandbox Code Playgroud)
来自输入字段的last_contact_filled输入
for day_filter in xrange(1,int(last_contact_filled)+1):
qdict['last_contact__day']=day_filter
Run Code Online (Sandbox Code Playgroud)
在Django中最好的方法是什么?在我的情况下按天过滤?
kib*_*zer 63
这样的东西对你有用:
from datetime import datetime, timedelta
how_many_days = 30
MyObject.objects.filter(entered__gte=datetime.now()-timedelta(days=how_many_days))
Run Code Online (Sandbox Code Playgroud)
小智 11
我们可以使用Django timezone.now()和timedelta
from datetime import timedelta
from django.utils import timezone
time_threshold = timezone.now() - timedelta(days=7)
Entry.objects.filter(entered__gte=time_threshold)
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
18840 次 |
| 最近记录: |