Can this be made DRY? lookup_expr w/ method

6 views
Skip to first unread message

Rich Rauenzahn

unread,
Dec 20, 2019, 1:33:16 AM12/20/19
to django-filter

It seems like I should be able to have just bar_id and have it automatically pass the lookup_expr down to a single method?  But I don't see this as a possibility.

class FooFilter(filters.FilterSet):

    bar_id = filters.CharFilter(method="filter_bar_id")
    bar_id__in = filters.CharFilter(method="filter_bar_id__in")
    # maybe some others later...

    def filter_bar_id(self, queryset, name, value):
        return queryset.filter(
            Q(blah__bar=value) | Q(blech__bar=value)
        )

    def filter_bar_id__in(self, queryset, name, value):
        bars = value.split(",")
        return queryset.filter(
            Q(blah__bar__in=bars) | Q(blech__bar__in=bars)
        )

    
Reply all
Reply to author
Forward
0 new messages