Я бы сделал небольшой обходной путь для этого. Создайте пользовательский шаблон редактирования и добавьте его в свой класс. Стандартный шаблон редактирования, который вы найдете в хранилище фляг на github (стандартный шаблон редактирования)
class MyView(ModelView):
edit_template = 'my_custom_edit_template.html'
И в вашем собственном шаблоне редактирования сделайте функцию javascript, которая отключит ваш элемент. Поэтому он отключен только в режиме редактирования, а не в режиме создания.
{% block tail %}
{{ super() }}
{{ lib.form_js() }}
<script>
window.onload = function () {
document.getElementById("myfield_id").disabled = true;
}
</script>
{% endblock %}
Возможно, это не лучшее решение, но оно работает для меня. Я думаю, что также должно быть возможно изменить шаблон jinja2, чтобы напрямую отключить поле. Я попытался: {{form.myfield_id (disabled = True)}}, но затем он дважды отображает мое поле ... но мой первый подход работает.