from hc.accounts.models import Profile class TeamAccessMiddleware(object): def __init__(self, get_response): self.get_response = get_response def __call__(self, request): if request.user.is_authenticated: teams_q = Profile.objects.filter(member__user_id=request.user.id) teams_q = teams_q.select_related("user") request.teams = list(teams_q) profile = Profile.objects.for_user(request.user) if profile.current_team: request.team = profile.current_team else: request.team = profile return self.get_response(request)