DateTimeFielddate_createdという名前のモデル(「ジョブ」を表す)があります。私はと呼ばれる別のものを持っていますdate_modified。Django - Datetimeの代わりに日付別にクエリセットをソート
-date_modified私は最も最近修正された 'jobs'が私のリストの先頭になるように並べ替えたいと思います。問題は、複数の実行中のジョブが、タイムスタンプが更新されるたびに並べ替えられ続けることです。 date_modifiedフィールドがDateFieldのようにソートされている場合は、「今日」に変更されたすべての「ジョブ」をソートして、date_createdなどの第2の値を並べ替えることができますタイムスタンプが変更されるとリスト内の場所は変更されません。
これは私が今持っているものです。
queryset = DataCollection.objects.all().order_by('-date_modified','-date_created')
私は、関連記事を見つけましたが、バージョン1.9で古いようだ: Django sorting by date(day)
UPDATE
私は現在の修正をこれを見てください:
queryset = DataCollection.objects.all().extra(select =
{'custom_dt': 'date(date_modified)'}).order_by('-custom_dt','-date_created')
これは@lampslaveが示唆していたものに最も似ていますが、extraメソッドを使用しています。これは将来廃止される予定です...私はいつでもすぐに後のバージョンのDjangoにアップグレードする予定はありませんが、私の胃が少し不安定になります。
を助けるかもしれないと思います日時の日付は、日時がどのタイムゾーンにあるかによって決まります。 –
良い点。なぜTimeTimeFieldのタイムゾーン情報が含まれていないのですか? – Dan
タイムゾーンを意識して作業している場合、タイムゾーンは通常、プレゼンテーション層に属するとみなされます。 DateTimesは内部的にはUTCで、できるだけ遅く変換する必要があります。 https://docs.djangoproject.com/en/1.10/topics/i18n/timezones/ –