Python Django:在Datetimefield中获取日期相关计数
我有一个班有datetimefieldPython Django:在Datetimefield中获取日期相关计数,python,mysql,django,date,Python,Mysql,Django,Date,我有一个班有datetimefield class Foo(models.Model): id = models.AutoField(primary_key=True, db_column='status_id') date_field = models.DateTimeField(default=django.utils.timezone.now) f1 = models.TextField(blank=True, null=True) f2 = models.
class Foo(models.Model):
id = models.AutoField(primary_key=True, db_column='status_id')
date_field = models.DateTimeField(default=django.utils.timezone.now)
f1 = models.TextField(blank=True, null=True)
f2 = models.SmallIntegerField()
我想在DateTimeField中应用filter on date,并在执行一些查询后以以下格式获得输出:
f2日期\u字段f154 2017-02-01 4
53 2017-02-01 6
52 2017-02-01 2
51 2017-02-01 1
48 2017-02-01 5
47 2017-02-01 2
46 2017-02-01 3
45 2017-02-01 2
41 2017-02-01 1
38 2017-02-01 3
32 2017-02-01 17
30 2017-02-01 3
29 2017-02-01 4
18 2017-02-01 4
14 2017-02-01 5
13 2017-02-01 2
这可能适合您:-
from django.db.models import Count
Foo.objects.values('f2','date_field','f1').annotate(dcount=Count('date_field')
我觉得你的问题很不清楚。但是,从您的示例中,我看到列表是按
f2
字段排序的。按('field')筛选您的订单。要过滤字段,可以在queryset
上使用.filter()
。要继续过滤,例如今天,我们可以从datetime
库传递datetime.now()
。要设置日期格式,可以使用date/dateTime object.strftime(“”)
。但请澄清你的问题,你的实际问题对我们来说只是一个猜测
from datetime import datetime
today = datetime.now()
foos = Foo.objects.filter(date_field=today) \
.order_by('-f2') \
.annotate(date_count=Count('date_field'))
for foo in foos:
date_formatted = foo.date_field.strftime("%Y-%m-%d")
print foo.f2, date_formatted, foo.date_count
我的日期字段是datetimefield,我希望过滤器基于日期而不是datetime。