私は明確な最新の値を取得するために異なる最新の値を得るために述べていますが、それは私にエラーを与えています:
このデータベースバックエンドでは、フィールドの異なるフィールドはサポートされていません
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でのみ機能します。詳しくは, ドキュメント を確認してください。
例(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')
[...]
_