def _filter_request(self, request: request.Request, queryset: QuerySet, team: Team) -> QuerySet: for key, value in request.GET.items(): if key == "event": queryset = queryset.filter(event=request.GET["event"]) elif key == "after": queryset = queryset.filter(timestamp__gt=request.GET["after"]) elif key == "before": queryset = queryset.filter(timestamp__lt=request.GET["before"]) elif key == "person_id": person = Person.objects.get(pk=request.GET["person_id"]) queryset = queryset.filter( distinct_id__in=PersonDistinctId.objects.filter( person_id=request.GET["person_id"]).values( "distinct_id")) elif key == "distinct_id": queryset = queryset.filter( distinct_id=request.GET["distinct_id"]) elif key == "action_id": queryset = queryset.filter_by_action( Action.objects.get(pk=value)) # type: ignore elif key == "properties": filter = Filter(data={"properties": json.loads(value)}) queryset = queryset.filter( filter.properties_to_Q(team_id=team.pk)) return queryset
def _filter_request(self, request: request.Request, queryset: QuerySet) -> QuerySet: for key, value in request.GET.items(): if key == 'event': queryset = queryset.filter(event=request.GET['event']) elif key == 'after': queryset = queryset.filter(timestamp__gt=request.GET['after']) elif key == 'before': queryset = queryset.filter(timestamp__lt=request.GET['before']) elif key == 'person_id': person = Person.objects.get(pk=request.GET['person_id']) queryset = queryset.filter( distinct_id__in=PersonDistinctId.objects.filter( person_id=request.GET['person_id']).values( 'distinct_id')) elif key == 'distinct_id': queryset = queryset.filter( distinct_id=request.GET['distinct_id']) elif key == 'action_id': queryset = queryset.filter_by_action( Action.objects.get(pk=value)) # type: ignore elif key == 'properties': filter = Filter(data={'properties': json.loads(value)}) queryset = queryset.filter(filter.properties_to_Q()) return queryset
def _filter_request(self, request: request.Request, queryset: QuerySet) -> QuerySet: for key, value in request.GET.items(): if key in ('event', 'ip'): pass elif key == 'after': queryset = queryset.filter(timestamp__gt=request.GET['after']) elif key == 'before': queryset = queryset.filter(timestamp__lt=request.GET['before']) elif key == 'person_id': person = Person.objects.get(pk=request.GET['person_id']) queryset = queryset.filter(distinct_id__in=person.distinct_ids) elif key == 'distinct_id': queryset = queryset.filter(distinct_id=request.GET['distinct_id']) elif key == 'action_id': queryset = queryset.filter_by_action(Action.objects.get(pk=value)) # type: ignore elif key == 'properties': queryset = queryset.filter(properties_to_Q(json.loads(value))) return queryset
def _filter_request(self, request: request.Request, queryset: QuerySet) -> QuerySet: for key, value in request.GET.items(): if key in ('event', 'ip'): pass elif key == 'after': queryset = queryset.filter(timestamp__gt=request.GET['after']) elif key == 'before': queryset = queryset.filter(timestamp__lt=request.GET['before']) elif key == 'person_id': person = Person.objects.get(pk=request.GET['person_id']) queryset = queryset.filter(distinct_id__in=person.distinct_ids) elif key == 'distinct_id': queryset = queryset.filter( distinct_id=request.GET['distinct_id']) elif key == 'action_id': queryset = queryset.filter_by_action( Action.objects.get(pk=value)) else: key = 'properties__%s' % key params = {} params[key] = value queryset = queryset.filter(**params) return queryset