def get_queryset(self, request):
    """
    Overridden to filter queryset by customized url query parameters.
    These parameter key-value pairs are of the form:
    - <field>=<value>,...<value>
    The GET data before calling super().get_queryset so
    that the queryset it returns is not filtered.
    """
    field_names = {field.name for field in self.model._meta.fields}
    query_dict = {}
    request.GET = request.GET.copy()
    for k in request.GET.keys():
        if k in field_names:
            query_dict[f'{k}__in'] = [v for v in request.GET.get(k).split(',') if v != '']
    for k in query_dict.keys():
        field = k[:k.index('_')]
        if field in request.GET.keys():
            request.GET.pop(field)
    qs = super(self.__class__, self).get_queryset(request)
    if len(query_dict) != 0:
        qs = qs.filter(**query_dict)
    return qs