Django-Filter:使用数组在 ArrayField 中搜索?

Django-Filter: Search within an ArrayField with an Array?

我有一个使用 arrayField 的 all_positions 数据点。所以一些示例数据如下所示:

all_positions: ["C", "1B"],
all_positions: ["RP", "CP"],
all_positions: ["CP"],

我希望能够提出类似于 /api/player-profiles/?all_positions=RP,CP 和 return 第二个和第三个示例的请求。本质上,我想 return 所有拥有任何位置的玩家在他们的 all_positions 数据中传递到 URL。

我读过有关重叠的内容,但不确定如何将其集成到我的 django-rest 过滤器中。这是过滤器当前的样子:

class PlayerProfileFilter(django_filters.FilterSet):
    all_positions = CharInFilter(field_name='all_positions', lookup_expr='contains')

只需将 lookup_expr 中的查找过滤器从 contains 更改为 overlap:

class PlayerProfileFilter(django_filters.FilterSet):
       all_positions = CharInFilter(field_name='all_positions', lookup_expr='overlap')