Как использовать Django Filter с Arrayfield

Можно ли использовать django-фильтр BaseInFilter с django ArrayField?

Вот пример того, что я пытаюсь сделать;

models.py

class Stays(models.Model):
   best_describes_house = ArrayField(
        models.CharField(max_length=500, blank=True, null=True),
        default=list,
    )
filterset.py

class ItemInFilter(filters.BaseInFilter, filters.CharFilter):

    pass

class StayFilter(filters.FilterSet):
    best_describes_house__in = ItemInFilter(
        field_name="best_describes_house", lookup_expr="in"
    )

    class Meta:
        model = Stays
        fields = [
            "best_describes_house__in",
        ]

Я пытаюсь сделать запрос к http://127.0.0.1:8000/api/v1/stays/best_describes_house__in=villa,lake. Я продолжаю получать;

оператор не существует: символ varing[] = text[] LINE 1: ...ays" WHERE "lodging_stays". "best_describes_house" IN (ARRAY[....

Я делаю что-то не так?

Я также попробовал сделать это, используя IntegerField, как указано в этом примере в документации - BaseInFilter, и это работает нормально

Вернуться на верх