Использование в Django индекса GIN, который был создан в postgreSQL
Я создал модель в Django.
class MyModel(models.Model):
features = TextField(blank=True, default='')
Существует несколько возможных способов хранения данных в поле feature. Некоторые примеры приведены ниже.
feature1;feature2feature1, feature2feature1,feature2
И так далее. Я создал GIN-индекс для этого поля. Это код PostgreSQL, который я использовал внутри migrations.RunSQL.
CREATE INDEX features_search_idx ON "mymodel" USING gin (regexp_split_to_array("mymodel"."features", E'[,;\\s]+'));
Миграция сработала, и мне удалось найти этот индекс, используя, например, \di+ mymodel_features_search_idx.
Теперь я хочу использовать этот созданный индекс для фильтрации моего набора запросов. Я думал, что что-то вроде приведенного ниже кода будет работать
MyModel.objects.annotate(F('features_search_idx')).filter(features_search_idx__in=['Feature1', 'Feature2', 'Feature3'].count()
К сожалению, произошла ошибка django.core.exceptions.FieldError: Cannot resolve keyword 'feature_search_idx' into field.. Как я могу использовать созданный индекс?