获取模型属性而不需要它们是modelform_factory吗?

时间:2017-09-18 19:51:45

标签: python django django-forms django-templates

我有一个modelform_factory,非常适合我需要的东西。

我称之为:

    dep_formset = modelformset_factory(
        Dependent,
        fields=('has_medical', 'med_group_id'),
        max_num = dep_count
    )

正如您可能猜到的,Dependent有其他字段,我只想将其用于显示目的(分别为first_namelast_name)我想显示依赖人员的first_name和last_name - 但是它只是用于显示,而不是编辑。

如果我将'first_name'和'last_name'添加到上面的字段中,我可以在我的模板中访问它们 - 但表单对.is_valid()失败,因为我只是将它们显示为文本而不是作为输入,所以他们没有被POST'

是否有一些聪明的方法可以访问依赖对象的first_name和last_name,而无需将它们添加到formset_factory的字段中?

模板看起来像这样(部分片段,所以你可以看到我正在尝试用first_name,last_name做什么):

{% for form in dep_formset %}
    {{ form.id }}
    {% for hidden in form.hidden_fields %}
        {{ hidden }}
    {% endfor %}
    <div class="g">
        <h4>{{ form.first_name.value }} {{form.last_name.value}}</h4>
    </div>
    <div class="g dependent-option">
        <div class="g-1-4 dependent-option-check">
            {% if form.has_medical %}

1 个答案:

答案 0 :(得分:1)

根据提供的信息,formset似乎与您可以在模板中访问的实例相关联:

{{ form.instance.first_name }}