I'vはかなり長い間検索されていますが、sofに関するいくつかの解答について知っていますが、問題が非常に単純であっても、Django - datetimeフィールドから日付/日で区切られた別個の行/オブジェクト
私が必要とするもの(postgres + django 1.10を使用して):私はdatetimeフィールド内に多くの重複した日付(=日)を持つ多くの行を持っています。私は1つの行/オブジェクト毎日/日を含むクエリセットが欲しい。
fk | col1 | colX | created (type: datetime)
----------------------------------------------
1 | info | info | 2016-09-03 08:25:52.142617+00:00 <- get it (time does not matter)
1 | info | info | 2016-09-03 16:26:52.142617+00:00
2 | info | info | 2016-09-03 11:25:52.142617+00:00
1 | info | info | 2016-09-14 16:26:52.142617+00:00 <- get it (time does not matter)
3 | info | info | 2016-09-14 11:25:52.142617+00:00
1 | info | info | 2016-09-25 23:25:52.142617+00:00 <- get it (time does not matter)
1 | info | info | 2016-09-25 16:26:52.142617+00:00
1 | info | info | 2016-09-25 11:25:52.142617+00:00
2 | info | info | 2016-09-25 14:27:52.142617+00:00
2 | info | info | 2016-09-25 16:26:52.142617+00:00
3 | info | info | 2016-09-25 11:25:52.142617+00:00
etc.
これを行うには最高のパフォーマンス(pythionic/django)方法がありますか?私のモデル/テーブルには、多くの行(> 100万)があります。
EDIT 1
結果(例えばWHERE FK = 1)FKによってフィルタリングされなければなりません。
は、私はすでに、このような
MyModel.objects.filter(fk=1).order_by('created__date').distinct('created__date')
として最も明白なものを試してみましたが、次のエラーました:代わりに、クエリのクラスメタを通じて
django.core.exceptions.FieldError: Cannot resolve keyword 'date' into field. Join on 'created' not permitted.
...すべてと同じエラー()とそれぞれの順序を-method order_by()...
この特定のケースでは、誰かがこのエラーについてもっと知っているかもしれませんか?
これがうまくいくと思いますが、それは '.distinct( 'created__date')'ではないでしょうか? –
ええ、そうです、ポストでは「時間は問題ではない」とは見えませんでした。回答が編集されました。 –
...これは、次のエラーで試してみると、もっとも明白な解決策の1つです: – Schmalitz