[解決済み] DISTINCT ON フィールドは、このデータベースバックエンドではサポートされていません。
2022-02-18 22:09:05
質問
最新の値を取得するためにdistinctを使用していますが、エラーが発生します。
DISTINCT ON fields は、このデータベースバックエンドではサポートされていません。
views.py
class ReportView(LoginRequiredMixin, generic.TemplateView):
template_name = 'admin/clock/report.html'
def get_context_data(self, **kwargs):
context = super(ReportView, self).get_context_data(**kwargs)
context['reports'] = TimesheetEntry.objects.filter(
timesheet_jobs__job_company = self.request.user.userprofile.user_company,
).distinct('timesheet_users')
return context
基本的に、私は
TimesheetEntry
のエントリが多数存在するようなモデルで
user
の外部キーである
User
を内蔵したモデルです。
そこで、ユーザーを指定してクエリを実行し、そのユーザーの最新のエントリを表示させたいと思います。ユーザーの最新のエントリを取得することは、私にとって非常に重要です。
models.py
class TimesheetEntry(models.Model):
timesheet_users = models.ForeignKey(User, on_delete=models.CASCADE,related_name='timesheet_users')
timesheet_jobs = models.ForeignKey(Jobs, on_delete=models.CASCADE,related_name='timesheet_jobs')
timesheet_clock_in_date = models.DateField()
timesheet_clock_in_time = models.TimeField()
解決方法は?
distinct('field_name')
は MySQL でサポートされていません。サポートされるのは
distinct()
.
distinct('field_name')
でしか動作しません。
PostgresSQL
. 詳しくは
ドキュメント
.
例(1番目以降はPostgreSQLでのみ動作します)。 ( ドキュメントからコピーペーストしたものです。 )
>>> Author.objects.distinct()
[...]
>>> Entry.objects.order_by('pub_date').distinct('pub_date')
[...]
>>> Entry.objects.order_by('blog').distinct('blog')
[...]
>>> Entry.objects.order_by('author', 'pub_date').distinct('author', 'pub_date')
[...]
>>> Entry.objects.order_by('blog__name', 'mod_date').distinct('blog__name', 'mod_date')
[...]
>>> Entry.objects.order_by('author', 'pub_date').distinct('author')
[...]
関連
-
[解決済み] [Solved] models.py に追加した後、「NOT NULL 制約が失敗しました。
-
[解決済み] ImportError: 'django.utils' から名前 'six' をインポートできません。
-
[解決済み] Django-Rest-Framework ルータ登録
-
django no such table: django_session エラー解決。
-
django -- django.core.exceptions.AppRegistryNotReady: アプリはまだロードされていません。
-
[解決済み】Djangoのフォームセットにフォームを動的に追加する
-
[解決済み】Django - クエリ結果を制限する
-
[解決済み】Djangoで1ページで複数のフォームを扱う適切な方法
-
[解決済み】Djangoのvalues_listとvaluesの比較
-
[解決済み] djangoのテンプレートで文字列を連結する方法は?
最新
-
nginxです。[emerg] 0.0.0.0:80 への bind() に失敗しました (98: アドレスは既に使用中です)
-
htmlページでギリシャ文字を使うには
-
ピュアhtml+cssでの要素読み込み効果
-
純粋なhtml + cssで五輪を実現するサンプルコード
-
ナビゲーションバー・ドロップダウンメニューのHTML+CSSサンプルコード
-
タイピング効果を実現するピュアhtml+css
-
htmlの選択ボックスのプレースホルダー作成に関する質問
-
html css3 伸縮しない 画像表示効果
-
トップナビゲーションバーメニュー作成用HTML+CSS
-
html+css 実装 サイバーパンク風ボタン
おすすめ
-
[解決済み] Django-Rest-Framework ルータ登録
-
[解決済み] ImportError: rest_framework_jwt.viewsという名前のモジュールがありません。
-
[解決済み] Django manage.py ランサーバーが動作しない
-
Pythonが表示される。TypeError: 期待される文字列またはバッファ
-
djangoでログ出力を利用する
-
エラーの場合 環境変数 DJANGO_SETTINGS_MODULE を定義する必要があります ... 問題解決
-
[解決済み] djangoでモデルオブジェクトを一括作成する
-
[解決済み】DEBUG = Falseに設定すると500エラーになる。
-
[解決済み】Django の SECRET_KEY を変更した場合の影響について
-
[解決済み】djangoのフォームフィールドでデフォルトで空のクエリセットを作成する