python – Django:如何在内联模型formset中默认使字段不可编辑?

我有一个内联模型formset,如果这些字段在加载页面时已经有值,我想使字段不可编辑.如果用户单击该行上的“编辑”按钮,它将变为可编辑状态(使用JavaScript)我将用可编辑的小部件替换原始小部件.我想在加载页面时做类似的事情:

for field in form.fields:
    if field.value:
        # display as text
    else:
        # display as my standard editable widget for this field

我看到inlineformset_factory有一个名为formfield_callback的参数.我怀疑这可能有用,但我没有找到任何文件.任何人都可以指出一些有用的文档,以及它如何帮助我解决这个问题?

最佳答案
这一点也让我感到难过.希望这是你正在寻找的.

<TABLE>
    <form method="post" action=".">
        {{ formset.management_form }}
        {% for form in formset.forms %}
            {{ form.id }}
            <tr>
                <td>{{ form.FirstName }}</td> <!-- This is a normal, editable field -->
                <td>{{ form.instance.LastName }}</td> <!-- 'instance' is your actual Django model. LastName displays the text from the last name field -->
            </tr>
        {% endfor %}
    </form>
</TABLE>

转载注明原文:python – Django:如何在内联模型formset中默认使字段不可编辑? - 代码日志