0

3 つ以上のフィールドで値を呼び出そうとすると、「壊れている」ように見えます (つまり、重複するエントリをグループ化していません)。

ForeignKey私のモデルは、2と 1の 3 つのフィールドを持つスルー モデルです。DateTimeField

ProjectView(models.Model):
  user = models.ForeignKey(User)
  project = models.ForeignKey(Project)
  datetime_created = models.DateTimeField()

私はやってみたいです:

ProjectView.objects.filter(datetime_created__gt=yesterday).values('project__id', 'project__title', 'project__thumbnail', 'project__creator_username')

値フィールドのいずれかを削除すると、重複することなく同じプロジェクトでグループ化されます.4つの値がある場合、グループ化は行わないようです. 私は何か間違ったことをしていますか?

4

1 に答える 1

1

値のドキュメントを見ると、グループ化または個別化の保証はありません。その機能が必要な場合は、ORM を呼び出すときに、.order_by()および/または呼び出す必要があります。.distinct()

それがまったく機能するということは、おそらく、生成された SQL の副作用にすぎません。SQL を見たい場合は、Django-debug-toolbar を見てください。

于 2013-02-03T15:02:25.900 に答える