Django formulários embutidos e campos de escolha geram muitas consultas de banco de dados

Tenho um modelo com vários campos de chave estrangeira, por exemplo modelo Produto com os campos 'tipo', 'nível', 'cor', 'intensidade' (apenas um exemplo genérico).

Tenho uma página para editar todos os produtos de um determinado tipo usando um formulário Tipo com os produtos como um conjunto de formulários embutido, com a opção de adicionar produtos adicionais embutidos usandoextra=10.

O que eu acho muito estranho é que toda vez que eu produzo um dos campos de escolha de chave estrangeira no modelo, o Django consulta o banco de dados para obter as opções (sempre

Por exemplo

{% for form in formset %}
    {{ form.level }}
    {{ form.color }}
    {{ form.intensity }}
{% endfor %}

Com 20 produtos (e 10 formulários extras vazios), o código acima emite 30select * from ... do nível, cor e intensidade, totalizando 90 consultas (reveladas usando a barra de ferramentas de depuração do Django), onde 3 deve ser suficiente. É improvável que as opções alterem a solicitação intermediária, mas mesmo que elas mudassem, eu definitivamente não gostaria que algumas opções adicionadas recentemente aparecessem apenas nos últimos 5 formulário

Existe alguma maneira de otimizar meus modelos / formulários / visualizações / modelos para que o banco de dados não seja martelado assim desnecessariament

-

Aviso: sou relativamente novo no django e python e não consigo deixar de pensar que deve haver uma maneira de resolver isso de alguma form

questionAnswers(4)

yourAnswerToTheQuestion