该日期是用户输入的数字,以获得超过(用户输入的天数)的结果 例如,如果用户32天将获得超过30天的结果。
A quick try-out:
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中执行此操作的最佳方法是什么? 在我的情况下按天过滤?
答案 0 :(得分:58)
这样的事情会对你有用:
from datetime import datetime, timedelta
how_many_days = 30
MyObject.objects.filter(entered__gte=datetime.now()-timedelta(days=how_many_days))
答案 1 :(得分:9)
我们可以使用Django timezone.now()和timedelta
$.ajax({
type: "POST",
url: "/spares/search/getresults",
dataType: "json",
data: "val="+ searchval,
success: function(response){
if (response.error == false) {
var _content = "";
$.each(response.result, function(index, value){
_content += "<tr class='productChoose'> <td class='hide'>"+ value.id +"</td> <td class='hide'>"+ prod_id +"</td> <td class='hide'>"+ article +"</td> <td>"+ value.cd_cred +"</td> <td >"+ value.name_org +"</td> <td >"+ value.quality +"</td> <td class='hide'>"+ article_description +"</td> <td>" + '<button type="button" id="add"class="btn-xs btn btn-info add">Add </button>' +"</td> </tr>";
});
$(".choosCred").append(_content);
}
}
});
答案 2 :(得分:1)
将timedelta(-30)
添加到过滤器中的datetime
。