Как параметр distinct работает с методом Count в annotate?

У меня возникла проблема с методом annotate, когда я использовал метод Count для подсчета нескольких столбцов, поступающих из базы данных, которые имеют связь с одной из таблиц.

позвольте мне привести вам быстрый пример:

match_session_instance = MatchSessionInstance.objects.filter(match_session=match_session, status="main")

match_instances = MatchSessionInstance.objects.filter(match_session=match_session)

action_counts = match_instances.values(player_number=F("player_pk__number"), player_name=F("player_pk__player"))\
                    .annotate(pass_count=Count("live_match_pass__id", distinct=True),
                              corner_count=Count("live_match_corner__id", distinct=True))

В настоящее время я не сталкиваюсь ни с какими проблемами, я поймал свой вопрос и решил его, но сейчас проблема в этом.

Я не знаю, как параметр "disticnt=True" поможет мне решить эту проблему!

Я немного погуглил и нашел этот источник, который мне помог: Count on multiple fields in Django querysets

Я знаю, что делает distinct как метод в ORM, но на самом деле, я понятия не имею, как он работает в этом формате, когда я использую столбцы, которые никогда не имеют дублирующихся данных.

Может ли кто-нибудь помочь мне понять, пожалуйста?
заранее спасибо

Вернуться на верх