Запросы для подпоследовательности с использованием Django ArrayFields

У меня есть ArrayField, в котором хранятся последовательности целых чисел, например: Sequences.objects.first().seq возвращается [5,4,4,3,2,2,1], Последовательности всегда хранятся в порядке убывания, и я хочу отфильтровать Sequences найти подпоследовательность. Тем не менее, я сталкиваюсь с проблемами при попытке найти подпоследовательность, которая содержит повторяющиеся элементы, и я не знаю, как решить эту проблему.

Например, если я хочу фильтровать любую последовательность, содержащую подпоследовательность q = [5,4,4,4,2], Я бы попробовал Sequences.objects.filter(seq__contains=q), но этот QuerySet будет включать последовательность [5,4,4,3,2,2,1], поскольку каждый элемент q находится отдельно в последовательности, но не все вместе. Однако я не хочу только точных совпадений. Если бы я фильтровал по q, я хотел бы включить что-то вроде [6,5,5,4,4,4,3,2,1] но отклонить что-то вроде [5,4,4,3,2,2,1] поскольку в первом случае все q имеют кратность, а во втором отсутствует 4, то есть q не содержит подпоследовательность.

0 ответов

Другие вопросы по тегам