Во-первых, повторное отображение представления из-за ошибки обычно является необычной операцией. Я хотел бы потратить свою энергию на оптимизацию более распространенных операций, таких как отображение представления в первую очередь. Во-вторых, учитывая, что типичное раскрывающееся поле со списком содержит не более нескольких десятков элементов, я хотел бы спросить, нет ли более глубокой проблемы, если это на самом деле проблема оптимизации из-за загрузки базы данных. В-третьих, кэширование списков - это хорошо, если вы решите, что это на самом деле проблема с производительностью, но я не буду ничего оптимизировать, пока вы не уверены, что это проблема.