다른 Django 모델의 여러 필드에서 고유한 Django 객체 수량 읽어들이기

999 단어
다음과 같이 정의된 Django 모델이 있습니다.
class Session(models.Model):
    ...
    leader = models.ForeignKey(User, related_name='leader')
    follower = models.ForeignKey(User, related_name='follower')
    ...

이제 Session 객체의 QuerySet이 있습니다.
some_sessions = Session.objects.filter(some_criteria=True)

Somesessions의 어떤 Session에서leader나 follower가 되는 유일한 신분 사용자의 간단한 계수는?
예를 들어 특정한 사용자는 일부 세션 대상의 리더일 수 있지만, 소수의 다른 세션 대상은 follower이다.이 특정user는 필요한 유일한user수에 1만 공헌해야 합니다.
물론 유치한 해결 방안도 있지만 성능 때문에 해결 방안이 있는지 알고 싶습니다. 가능하면QuerySets의 기능을 더 많이 활용할 수 있습니다.
편집: 분명히 말하자면 이것은 천진한 방법이다. 이것은 내가 필요로 하는 결과를 제공한다.
active_user_ids = set()
some_sessions = Session.objects.filter(some_criteria=True)
for session in some_sessions:
    active_user_ids.add(session.leader.id)
    active_user_ids.add(session.follower.id)
all_active_users = User.objects.filter(id__in=active_user_ids).count()

해답, 참조http://viadean.com

좋은 웹페이지 즐겨찾기