django modelform属性隐藏字段

django modelform属性隐藏字段,django,properties,hidden-field,modelform,Django,Properties,Hidden Field,Modelform,我手动将我的表单集显示为一个表,每个表单都被循环。在每个表单的底部,我包括隐藏字段,如: {% for hidden in form.hidden_fields %} {{ hidden }} {% endfor %} 但问题是,我的表单中也包含了属性,如: class AllocationForm(forms.ModelForm): name = forms.CharField(widget=forms.TextInput(attrs={'size': '15'}))

我手动将我的表单集显示为一个表,每个表单都被循环。在每个表单的底部,我包括隐藏字段,如:

{% for hidden in form.hidden_fields %}
    {{ hidden }}
{% endfor %}
但问题是,我的表单中也包含了属性,如:

class AllocationForm(forms.ModelForm):
    name = forms.CharField(widget=forms.TextInput(attrs={'size': '15'}))

    def __init__(self, *args, **kwargs):
        super(AllocationForm, self).__init__(*args, **kwargs)
        if self.instance:
            self.fields['total_budgeted'] = self.instance.total_budgeted()
            self.fields['total_budgeted_account_percent'] = self.instance.total_budgeted_account_percent()
            self.fields['actual_spent'] = self.instance.actual_spent()
            self.fields['actual_spent_account_percent'] = self.instance.actual_spent_account_percent()
            self.fields['total_budgeted_category_percent'] = self.instance.total_budgeted_category_percent()
            self.fields['actual_spent_category_percent'] = self.instance.actual_spent_category_percent()

    class Meta:
        model = Allocation
        exclude = {'created', 'modified', 'source_account'}
这在某种意义上是有效的,我肯定看到属性被调用,但是它们显示为空,所以这是另一个问题

问题是,当我在模板中保留隐藏字段时,根据属性/方法调用的返回类型,会出现错误,例如“int”对象没有属性“get\u bound\u field”等等

我的问题是首先:是否可以检查字段是否是模板中的属性,从而跳过它?
这可能与我如何使用属性有关,因为事实上每个属性都没有显示任何内容(但我看到它是回调),所以第二个问题是如何显示属性。

我正处于问题的下一步,但我成功地生成了真正的表单字段。代替:

if self.instance:
    self.fields['total_budgeted'] = self.instance.total_budgeted()
你可以写:

if self.instance:
    self.fields['total_budgeted'] = form.CharField(
        initial=self.instance.total_budgeted(),
        widget=HiddenInput()
    )
在这段代码中,我将表单字段实例化为CharField,您可以使用所需的表单字段,我通过选择Hidden input小部件将其隐藏