2017-02-23 8 views
-1

に日付賢明な数を取得私はDateTimeField型で日付にフィルタを適用し、いくつかのクエリを実行した後のフォーマットを以下に出力を取得したいジャンゴ:</p> <p>: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型たクラスを持っていますF2 DATE_FIELD F1
54 2017年2月1日4
53 2017年2月1日6
52 2017年2月1日2
51 2017年2月1日1
48 2017年2月1日5
47 2017年2月1日2
46 2017年2月1日3
45 2017年2月1日2
41 2017年2月1日1
38 2017- 02-01 3
32 2017年2月1日17
30 2017年2月1日3
29 2017年2月1日4
18 2017年2月1日4
14 2017年2月1日5
13 2017-02-01 2

答えて

0

これはあなたのために働く可能性があります -

from django.db.models import Count 
Foo.objects.values('f2','date_field','f1').annotate(dcount=Count('date_field') 
+0

私の日付フィールドはdatetimefieldで、基準日のフィルタはdatetimeではありません。 –

0

私はあなたの質問は非常に不明確見つけます。しかし、あなたの例では、リストはあなたのf2フィールドに注文されています。 order_by('field')をフィルタリングするにはフィールドをフィルタリングするには、queryset.filter()を使用します。例えば今日のようにフィルターをかけるにはdatetime.now()datetimeライブラリから渡すことができます。日付を書式設定するには、date/dateTime-object.strftime('<format>')を使用します。しかし、あなたの質問を明確にしてください、あなたの実際の質問は私たちのためのかなりの推測です。

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 
関連する問題