Запросы для подпоследовательности с использованием Django ArrayFields - PullRequest
0 голосов
/ 11 ноября 2018

У меня есть 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 в качестве подпоследовательности. .

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...