Python Django:在Datetimefield中获取日期相关计数

Python 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.

我有一个班有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.SmallIntegerField()
我想在DateTimeField中应用filter on date,并在执行一些查询后以以下格式获得输出:

f2日期\u字段f1
54 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。