Я пытаюсь связать django-mptt и contrib.admin вместе, предоставив что-то более дружелюбное, чем простой список в админке. Поскольку деревья должны быть большими (иначе я бы не использовал вложенные множества), пользователи должны иметь возможность раскрывать и сворачивать их части.
Когда пользователь разворачивает или сворачивает или разворачивает ветвь (для этого используется ajax), также устанавливается cookie, содержащий разделенный запятыми список свернутых ветвей. Таким образом, в следующий раз, когда этот пользователь посетит администратора для моей модели на основе django-mptt, я могу показать ему дерево в том состоянии, в котором он его оставил. Теперь я хотел бы использовать этот список свернутых веток, чтобы облегчить нагрузку на мою базу данных, выбирая только необходимые части дерева.
Есть ли способ сделать это эффективно? Решения, которые я гуглил, делали запрос для каждой ветви, чтобы они могли избежать запросов, когда ветка была свернута, но это не выглядит для меня очень эффективным. Может быть, это возможно при фиксированном количестве запросов?